gpt4 book ai didi

JAVA反对二维数组,不能设置数组中的元素,也不能调用数组中的函数

转载 作者:行者123 更新时间:2023-12-01 06:10:18 24 4
gpt4 key购买 nike

我正在尝试使用此 Class Diagram 创建一个扫雷游戏我被困在这里 2 个小时,找不到任何解决方案,当我尝试调用 GridData 类中的函数时,NullPointerException 总是出现,而且我无法更改数组中的元素,任何人有建议吗?

public GridData[][] board ;

公共(public) BomberGame(int boardSize,int 炸弹编号){

int i = 0;
int j = 0;
if(boardSize < 3)
board = new GridData[3][3] ;
else
board = new GridData[boardSize][boardSize];


for (i = 0; i < boardSize; i++)
{
for (j = 0; j < boardSize; j++)
{
//board[i][j]BomberGame = 0 ;// here is the problem i can't mess with any element in array
board[i][j].setIsOpen(true); // after doing NullPointerException occur
board[i][j].gridIsOpen();
System.out.print(board[i][j]+" ");
}
System.out.println("");
}

}

输出

null null null
null null null
null null null

Class Diagram

最佳答案

执行new GridData[3][3];只会得到null数组。您必须通过执行以下操作来初始化其中的每个元素:

for (i = 0; i < boardSize; i++) {
for (j = 0; j < boardSize; j++) {
board[i][j] = new GridData();
}
}

初始化数组后,您可以继续执行其余代码。

这是代码片段:

for (i = 0; i < boardSize; i++) {
for (j = 0; j < boardSize; j++) {
board[i][j] = new GridData();
board[i][j].setIsOpen(true);
board[i][j].gridIsOpen();
System.out.print(board[i][j] + " ");
}
System.out.println();
}

关于JAVA反对二维数组,不能设置数组中的元素,也不能调用数组中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187592/

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