Я посмотрела решение задачи и никак не могу понять почему во внутреннем цикле стоит chars[0].length -- for (int j = 0; j < chars[0].length; j++) ?
Ekaterina Matkovskaya
Level 10
Почему во внутреннем цикле ноль - j < chars[0].length ?
Resolved
Comments (3)
- Popular
- New
- Old
You must be signed in to leave a comment
Arkadiy Shin
24 September 2021, 11:28
может там не chars[0].length, а chars[i].length, либо это как частный случай для матрицы, когда в каждом рядке одинаковое количество элементов.
0
Ekaterina Matkovskaya
24 September 2021, 11:41
Я все равно не понимаю, почему ноль. Вот пример из учебного материала:
//задаём шахматную доску двумерным массивом
String [][] chessBoard = new String[8][8];
for (int i = 0; i< chessBoard.length; i++) {
for (int j = 0; j < chessBoard[0].length; j++) {
if ((i + j) % 2 == 0) chessBoard[i][j] = "W";
else chessBoard[i][j] = "B";
}
}
Снова ноль -- j < chessBoard[0].length;.
Жаль, что я не понимаю....
0
Arkadiy Shin
24 September 2021, 11:50solution
chessBoard[0].length - будет 8.
т.к. массив двумерный, то для chessBoard[i].length тоже будет 8.
т.е. имело бы значение 0 или i если бы в каждом ряду могло бы быть разное количество элементов.
0 потому что, взяли размерность из первого ряда, исходя из того что во всех рядак размерность одинаковая
ps: [0] - это обращение по индексу. индексация начинается с нуля, т.е. индекс каждой строки будет равен: номер строки - 1.
+2