我想用以下值表示8x8尺寸:


[0] [1] = 1 [0] [2] = 2 [1] [1] = 1 [1] [2] = 2 [1] [3] = 3 etc.


我编写了这段代码,但是每当我打印出数组时,所有奇数都给我一个零,例如


[5] [3] = 0 [5] [6] = 6 [5] [5] = 0 [5] [4] = 4


int [] [] chessboard = new int [8][8];
for (int i = 0; i < chessboard.length; i++) {
  chessboard [i] [0] = 0;

  for (int j = 0; j < chessboard.length; j++) {
    chessboard [i] [j] = j++;
  }
}

最佳答案

首先,您可能无法使用一个数组的大小迭代另一个数组的大小,这是不安全的。如果在每个框中都存储列索引(它从0开始),那么您还不想要什么,您只需通过设置值j(和j++用循环1将值增加两次)以这种方式进行迭代

int[][] chessboard = new int[8][8]; // here all values are 0 as it's an int array
for (int i = 0; i < chessboard.length; i++) {
    for (int j = 0; j < chessboard.length; j++) {
        chessboard[i][j] = j;
    }
}




chessboard[i][0] = 0;行无用的原因有两个:


初始值为0
从0开始刚开始的循环,所以它也设置了0

08-07 01:30