java此方法必须返回int类型的结果?
为什么它说该方法必须返回int类型?返回值是整数
public static int search(int[] nums)
{
Scanner keyboard = new Scanner(System.in);
System.out.println("What value do you want?");
int value = keyboard.nextInt();
for(int i=0;i<nums.length;i++)
{
if(nums[i] == value)
return nums[value];
else
return -1;
}
}
# 1 楼答案
并非所有路径都返回某些内容
通过在
for
循环之后添加一个返回,或者使用一个返回变量,可以避免这种错误。它看起来也像是您试图在数组中搜索用户键入的号码。如果是这样,您不希望使用else,否则它将只检查nums
中的第一个数字# 2 楼答案
如果
nums
为null或空,则for循环永远不会执行,因此您不会返回任何内容这样做
# 3 楼答案
请确保跳过循环时知道返回的类型
# 4 楼答案
在
nums[]
为空数组或null的情况下。(但是null值会产生null指针异常nums.length
。)在这种情况下,循环将不会执行,它将是一个无效的返回,所以为了避免这种情况,您必须声明一个默认的返回语句# 5 楼答案
虽然您在内的返回类型是
int
类型,但您的循环不能保证实际运行,并且在循环不运行的情况下,您没有返回值(因此也没有返回类型)