感谢您花时间阅读,
我有一个 boolean 值的二维矩阵,我试图将每个边界值更改为 false。我有这个工作的顶部和最左边的边框,但似乎无法找出底部和最右边的工作代码,任何帮助将不胜感激,这些是上部和最左边的代码:
//将边框值更改为 false
for (int row = 0; row <matrix.length; row++) {
int col = 0;
matrix[row][col] = false;
}
for (int col = 0; col <matrix.length; col++) {
int row = 0;
matrix[row][col] = false;
}
最佳答案
将行和列值设置为最后的值而不是零;
最后一列:
for (int row = 0; row <matrix.length; row++) {
int col = matrix[0].length-1;
matrix[row][col] = false;
}
最后一行:
for (int col = 0; col <matrix[0].length; col++) {
int row = matrix.length-1;
matrix[row][col] = false;
}
或者更好的方法来避免在循环内创建 col
和 row
的新实例;
for (int row = 0; row <matrix.length; row++) {
matrix[row][matrix[0].length-1] = false;
}
for (int col = 0; col <matrix[0].length; col++) {
matrix[row][matrix.length-1] = false;
}
对于 col,最后一个值必须是行的长度,因此我编写了 matrix[0].length
它也可能是任何其他合适的数字而不是 0,但超出了范围。
关于Java:二维数组的列和行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7314298/