【发布时间】:2017-05-25 07:26:59
【问题描述】:
在我的 CS 课程的跳棋游戏中,我遇到了计算棋盘上有多少特定颜色的问题。 这是getter方法:
public int getCheckersBlue()
{
int counter = 0;
for(int x = 0; x <= 8; x++)
{
for(int y = 0; y <= 12; y++)
{
if(c[x][y].equals(Color.BLUE))
{
counter++;
}
}
}
return counter;
}
c的构造函数:
private CheckersBoard[][] c = new CheckersBoard[8][8];
每当尝试在 Greenfoot 中运行游戏时,都会引发空指针异常,即使在代码编译时也是如此。即使声明了所有内容,所有内容都有它所指向的内容。有什么建议吗?
【问题讨论】:
-
请注意,使用
c构造函数,您正在创建一个CheckersBoard对象数组数组,这可能不是您想要的 -
1- Nullpointer :c 在 [0][0]、[0][1] 等位置似乎为空。 2-代码看起来不正确,因为您只初始化了 8 个数组,但您想迭代 12 次,因此如果您修复空指针,则会得到 ArrayIndexOutOfBoundsException。
标签: java arrays multidimensional-array counter getter