我不确定从逻辑上讲我错了。对角和非对角矩阵均返回true。我还是2D阵列的新手,已经看过视频并在线阅读了。我确实了解2D阵列的工作原理,但是我无法获得正确的答案。
..
else{
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
if((i != j) && (matrix[i][j] != 0)){
isDyg = false;
}
}
//System.out.print("");
}
isDyg = true;
}
return isDyg;
最佳答案
因为循环结束后,isDyg每次都设置为true。
将isDyg = false;
更改为return false;
或将您的代码更改为-
isDyg = true;
outerloop:
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix.length; j++) {
if((i != j) && (matrix[i][j] != 0)){
isDyg = false;
break outerloop;
}
}
//System.out.print("");
}
return isDyg;