Ну, вероятно, это потому, что вы не создали доску должным образом.К сожалению, вы не показали нам оператор создания массива.Это должно быть примерно таким:
char[][] boardArray = new char[height][width];
РЕДАКТИРОВАТЬ: Хорошо, теперь для печатной части.Ваш текущий код:
public void displayBoard(){
for (int k=0; k < boardArray.length; k++)
for (int l=0; l < boardArray[k].length; l++){
System.out.print(boardArray[k][l]);
}
System.out.println();
}
Это эквивалентно:
public void displayBoard() {
for (int k = 0; k < boardArray.length; k++) {
for (int l = 0; l < boardArray[k].length; l++) {
System.out.print(boardArray[k][l]);
}
}
System.out.println();
}
... поэтому вы звоните println
только после external loopзакончилЕсли вы просто перенесете вызов на println
на после внутреннего цикла , все будет хорошо:
public void displayBoard() {
for (int k = 0; k < boardArray.length; k++) {
for (int l = 0; l < boardArray[k].length; l++) {
System.out.print(boardArray[k][l]);
}
System.out.println();
}
}
Обратите внимание, что подобные вещи понятнее, если вы всегда включает скобки для циклов, if
операторов и т. д.