我正在开始一个简单的项目,用户在其中对着计算机播放一个版本的战舰。我现在想简单地打印出游戏板。但是,在将板初始化为由网格单元组成的二维对象数组后,我遇到了错误。代码没有打印我在类中定义的单元格类型,而是简单地打印了一个“null”网格。非常感谢这里的任何帮助。public class main { public static void main(String[] args) { // TODO Auto-generated method stub grid[][] gameBoard = new grid[9][9]; for (int x = 0; x < 9; x++) { for (int y = 0; y < 9; y++) { System.out.print(gameBoard[x][y] + " "); } System.out.println(""); } }}public class grid { public String type; public String owner; public boolean positionCalled; public grid() { type = "_"; owner = ""; positionCalled = false; } public String toString() { return type; }}
3 回答
月关宝盒
TA贡献1772条经验 获得超5个赞
你必须初始化你的grid,
for (int x = 0; x < 9; x++) {
for (int y = 0; y < 9; y++) {
gameBoard[x][y]=new grid();//initialize the grid
System.out.print(gameBoard[x][y] + " ");
}
System.out.println("");
}
繁星淼淼
TA贡献1775条经验 获得超11个赞
那是因为您在初始化后忘记初始化 2d 网格数组对象。添加这行代码:
for (int i = 0; i < 9; i++)
for (int j = 0; j < 9; j++)
gameboard[i][j] = new grid();
- 3 回答
- 0 关注
- 188 浏览
添加回答
举报
0/150
提交
取消