цикл for, который циклически изменяется от 0 до 1 в 2D-массиве

#java #processing

#java #обработка

Вопрос:

В настоящее время я создаю шахматную доску, и мне нужно присвоить каждой другой ячейке значение 1 или 0 с помощью двойного цикла for . Мой код выглядит следующим образом: (Обработка / Java)

 int[][] board = new int [8][8];
    
for (int i = 0; i < 8; i  ) {
    for (int j = 0; j < 8; j  ) {
        board[i][j] = ?;
        println(board[i][j]);
    }
}
  

Комментарии:

1. Перед циклами: int value = 0; , в циклах: board[i][j] = (value ) % 2;

2. На самом деле вы не хотите выполнять цикл, когда первая строка переходит во вторую строку, вы повторяете 0 или 1, потому что в противном случае первая строка и вторая строка будут равны.

3. Конечно, вы не хотите использовать println для каждого внутреннего цикла.

4. почему вы не используете double в начале?

5. Желаемый результат — перебирать доску, чередуя 0 и 1, чтобы в конечном итоге назначить цвета каждой ячейке в зависимости от значения ячейки.

Ответ №1:

 int[][] board = new int[8][8];

for (int i = 0; i < 8; i  ) {
    for (int j = 0; j < 8; j  ) {
        board[i][j] = (j i) % 2;
        System.out.println(board[i][j]);
    }
}
  

Ответ №2:

Похоже, вы пытаетесь назначить цвет шахматной доске.

 0 - Black
1 - White
  

что вы можете сделать, так это,

 if((i   j) % 2 == 0)
   arr[i][j] = 0;
else 
   arr[i][j] = 1;
  

Комментарии:

1. «Похоже, вы пытаетесь …» вы клипер MS Office? : P

2. Вы можете встроить это if в just arr[i][j] = (i j) % 2 (так же, как и в другом ответе).

3. да, добавлено if, чтобы быть более понятным в части объяснения @luk2302