public static int search(int[] arr, int a) {
/*for (int i = 0; i < arr.length; i++) {
if (a == arr[i]) {
return i;
} else {
returen - 1;
}
}*/
for (int i = 0; i < arr.length; i++) {
if (a == arr[i]) {
return i;
}
}
return -1;
}
return都放到for循环后,无法保证一定进入for循环,因此编译无法通过。原因很简单,就如上面得例子,进入for循环得条件是i < arr.length,但如果你得数组长度为0,很明显无法进入到for循环体类,因此没有返回值