gpt4 book ai didi

java - printBoard() 中的 boolean 数组 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-01 09:08:43 26 4
gpt4 key购买 nike

这些方法应该询问数组的大小(没有错误),然后数组中的每个元素都应该为假(没有错误),最后应该打印数组...但我在第 29 行遇到异常(它已在代码中标记)

我正在初始化数组,所以我真的不知道我的代码出了什么问题。

private boolean[][] board;     // true = queen, false = empty
[...]

private void determineBoardSize(){
write("Sprechen sie sich ab wer weiß und wer schwarz ist");
write("weiß muss eine Zahl zwischen 5 und 8 wählen");
nrRows = readInt("Zahl aus {5,6,7,8}");
if(nrRows < 5 || nrRows > 8) determineBoardSize();
write("Schwarz muss nun eine Zahl zwischen ErsteZahl -1 und ErsteZahl + 1 wählen");
nrColumns = readInt("eine Zahl zwischen ErsteZahl -1 und ErsteZahl + 1 wählen");
if(nrColumns < nrRows - 1 || nrColumns > nrRows + 1) determineBoardSize();

private void initBoard(){
boolean[][] board = new boolean[nrRows][nrColumns];
for(int i = 0; i < nrRows; i++){
for(int y = 0; y < nrColumns; y++){
board[i][y] = false;
}
}
}


private void printBoard(){
for (int j = board[0].length - 1; j >= 0; j--) { //java.lang.NullPointerException


System.out.print("\n " + (1 + j));
for (int i = 0; i < board.length; i++) {
System.out.print(board[i][j] ? " X" : " -");
}
}
System.out.print("\n ");
for (int i = 1; i <= board.length; i++) {
System.out.print(" " + i);
}
System.out.println("\n" + (whiteToMove ? white : black) + " ist am Zug.");
}

public void startGame(){
determineBoardSize();
initBoard();
determineFirstPlayer();
printBoard();
mainLoop();
reportWinner();
}


public static void main(String[] args) {
Dame ds = new Dame("Weiß", "Schwarz");
ds.startGame();
}

最佳答案

initBoard 中,您正在初始化一个新板,而不是全局板,因此当该方法返回时,board 仍未初始化。

关于java - printBoard() 中的 boolean 数组 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41059375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com