【发布时间】:2018-10-09 07:36:02
【问题描述】:
public class Gameboard
{
public char[][] board;
public static void main(String args[])
{
Gameboard blank = new Gameboard(false);
System.out.println("Printing blank gameboard:\n" + blank + "\n");
}
public Gameboard(boolean setup)
{
char[][] board = new char[8][8];
if (!setup)
{
for(int i = 0; i < board.length;i++)
{
for(int j = 0; j < board[j].length;j++)//critical condition
{
board[i][j] = '-';
}
}
}
}
}
我知道使用的列长度不是行长度,而是二维数组在行和列方面具有相同的长度。
【问题讨论】:
-
您可以尝试使用
for (int j = 0; j < board[i].length; j++) -
@Paul 抱歉,我的原始答案有点欠缺。刚刚在下面添加了更多细节,现在应该可以回答您的问题了。
-
@Paul 在您的新编辑中,以下行没有意义
char[][] board = new char[board.length][board.width];。首先,数组没有名为 width 的属性,因此board.width甚至无法编译。第二个板阵列尚未定义,因此当长度尚未设置时,您不能调用“board.length”。
标签: java for-loop multidimensional-array conditional-statements