public boolean Find(int target, int[][] array) {
//如果array.length小于等于0,跳过for循环,goto label_1,此时该方法无返回值
for (int i = 0; i < array.length; i++) {
//如果每一个array[i].length都小于等于0,第二个循环始终没有执行,goto label_2
for (int j = 0; j < array[i].length; j++) {
if (array[i][j] == target) {
return true;
} else {
return false;
}
}
// this is label_2
}
// this is label_1
}
正确方案:
public boolean Find(int target, int[][] array) {
boolean temp = false;
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[i].length; j++) {
if (array[i][j] == target) {
temp = true;
} else {
temp = false;
}
}
}
return temp;
}