JAVA对象2D数组,Can';不要在数组中设置元素,也不要调用其中的函数

JAVA对象2D数组,Can';不要在数组中设置元素,也不要调用其中的函数,java,object,multidimensional-array,minesweeper,Java,Object,Multidimensional Array,Minesweeper,我正试图创建一个扫雷游戏使用这个 我在这里被困了2个小时,找不到任何解决方案,当我试图调用GridData类中的函数时,NullPointerException总是heppen,而且我不能更改数组中的元素,有人有什么建议吗 public GridData[][] board ; 公共轰炸机游戏(int boardSize,int bombNo){ 执行新建GridData[3][3];只会得到null数组。您必须通过执行以下操作来初始化其中的每个元素: for (i = 0; i < b

我正试图创建一个扫雷游戏使用这个 我在这里被困了2个小时,找不到任何解决方案,当我试图调用GridData类中的函数时,NullPointerException总是heppen,而且我不能更改数组中的元素,有人有什么建议吗

public GridData[][] board ;
公共轰炸机游戏(int boardSize,int bombNo){


执行
新建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
初始化数组后,可以继续执行其余代码

以下是代码片段:

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();
}
for(i=0;i
在这里,您只需要创建数组。现在,数组中的每个元素也需要分配。例如:

board[i][j] = new GridData();

在Java中创建数组时,所有值都是
null
。必须首先创建实例!
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();
}
board = new GridData[3][3];
board[i][j] = new GridData();