在java

时间:2015-12-18 15:25:54

标签: java arrays multidimensional-array

我最近刚搬家使用java,在我学习了一些我决定的语法之后 写一个国际象棋游戏来教自己更多。

我试图创建一个字符串数组数组来存储电路板的基本视图,但是当我打印出来时,一切都是空的。

private String board[][] = new String[8][8];

    public Board() {
        System.out.println("created");
        for (String[] row : board) {
            for (String cell : row) {
                cell = "-";
            }
        }
        printBoard();
    }

我觉得我对每一个或字符串概念都有点麻烦。

提前致谢,

或者

2 个答案:

答案 0 :(得分:1)

cell = "-";

这个赋值发生在for循环中声明的局部变量。

您需要访问数组中的每个元素并分配字符串。

for (int i=0; i<board.length; i++) {
    for (int j=0; j<board[i].length; j++) {
        board[i][j] = "-";
    }
}

此处board.length是每个数组(列)中String[](行)和board[i].length以及数字String的数量。

答案 1 :(得分:0)

您不应使用forech循环来填充数组。请改用常规for循环。变化

for (String[] row : board) {
    for (String cell : row) {
        cell = "-";
    }
}

for(int i = 0; i < board.length; i++) {
    for(int j = 0; j < board[i].length; j++) {
        board[i][j] = "-";
    }
}

foreach循环无法修改迭代数组的元素。