为什么我收到这个NullPointerException?

时间:2013-02-12 21:59:50

标签: java nullpointerexception

我在clickCell[r][c] = false;new LifeGUI(new LifeModel(x, y, s);上遇到NullPointerException,无法修复它。请解释为什么会出现此问题以及如何解决此问题。

代码:

public  LifeModel(int rows, int cols, int cellSize) {
    row = rows;
    col = cols;
    cSize = cellSize;
    for (int r = 0; r < row; r++) {
        for ( int c = 0; c < col; c++) {
            clickCell[r][c] = false;
        }
    }
}

public static void main(int x, int y, int s) {
    new LifeGUI(new LifeModel(x, y, s));        
}

2 个答案:

答案 0 :(得分:2)

您必须创建数组对象

boolean [][] clickCell = new boolean[rows][cols];

在for循环之前添加此命令。

更多信息here

如果clickCell在其他地方声明,则命令应为:

clickCell = new boolean[rows][cols];

或者正如GriffeyDog建议的那样,在你声明数组的地方添加new boolean[rows][cols],具体取决于程序的逻辑。

答案 1 :(得分:2)

您尚未显示clickcell数组的声明位置,但您可能已声明但未初始化它。你可能有

boolean[][] clickcell;

但需要:

boolean[][] clickcell = new boolean[rows][cols];

其中rowscols代表您需要的数组大小。

相关问题