我来自C ++,我开始使用Java。我在理解阵列时遇到了一些麻烦。这是我的问题:
我正在开发扫雷克隆的逻辑。网格表示为2D数组盒子(我制作的一个非常简单的类,它只包含两个布尔 - 胺和中和剂 - 带有适当的吸气剂和固定剂)。我设置地雷时不断收到NullPointerException。我称之为网格的行中出现错误。这是我的setMines方法的代码:
private void setMines()
{
int i;
for (i = 0; i < mines; i++)
{
Random row, col;
row = new Random();
col = new Random();
if (grid[row.nextInt(rows)][col.nextInt(cols)].getMine())
i--; //mine is already set
else
grid[row.nextInt(rows)][col.nextInt(cols)].setMine(true);
}
}
行和列是我的扫雷类的私人内容。在构造函数中初始化。此外,y通过以下方式将网格初始化为2D数组:
grid = new Box[rows][cols]
提前感谢您的帮助! 来自西班牙的问候!