我在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));
}
答案 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];
其中rows
和cols
代表您需要的数组大小。