首先,从逻辑上代码是不对的,不过从语法上我没发现有什么错误,我按照你的说法也编写了同样的代码,却没抛出异常或是错误啊。代码如下:
public static void main(String[] args) {
int num = getIndex(new int[]{2,4,6,1,8}, 6);
System.out.println(num);
}
public static int getIndex(int[] arr, int key)
{
for (int x = 0; x < arr.length; x++)
{
if (arr[x] == key)
{
return x;
}
else
return -1;
}
return -1;
}
运行代码结果:-1
之所以-1是因为return是返回关键字,同时意味着结束标记,for循环中第一次循环判断不满足if条件就会执行else所以返回结果是-1。 |