for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[0].length; j++) {
for (int k = 0; k < matrix[0].length; k++) {//先把那一横置 0
}
}
}
}
在敲代码的时候,有类似上面的循环,在内嵌的第三层循环
for (int k = 0; k < matrix[0].length; k++)
需要加上一个判断的条件,如果 k==j
就要跳过改次循环,最开始没注意,直接写成了:
for (int k = 0; k < matrix[0].length && k!=j; k++)
这样所是不对的,会导致 k==j
时直接终止循环,因为就相当于:
for (int k = 0; k < matrix[0].length; k++) {
if(k==j) return;
}
因此只能老老实实的如下实现:
for (int k = 0; k < matrix[0].length; k++) {
if(k==j) continue;
}
for
循环的第二个表达式只要为 false
,就会使循环终止。