我最近刚搬家使用java,在我学习了一些我决定的语法之后 写一个国际象棋游戏来教自己更多。
我试图创建一个字符串数组数组来存储电路板的基本视图,但是当我打印出来时,一切都是空的。
private String board[][] = new String[8][8];
public Board() {
System.out.println("created");
for (String[] row : board) {
for (String cell : row) {
cell = "-";
}
}
printBoard();
}
我觉得我对每一个或字符串概念都有点麻烦。
提前致谢,
或者
答案 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
循环无法修改迭代数组的元素。