【发布时间】:2016-03-27 20:42:35
【问题描述】:
首先道歉,如果这真的很容易解决,我还在学习。 我有一个数组 String[][] 的 ArrayList,我正在尝试将它们全部打印出来。 当我使用下面的代码时,它只会多次打印同一块板,而不是列表中的每个板,我看不出哪里出错了。
除非它每次都覆盖?
for (int i = 0; i < Player.getBoardsAll().size(); i++) {
TextIO.putln();
TextIO.put(" ");
for (char a = 'A'; a < 'A' + Board.getColumns(); a++) {
TextIO.put(a, 4);
}
TextIO.putln();
TextIO.putln();
for (int r = 0; r < Board.getRows(); r++) {
TextIO.putf("%-3d", r+1);
for (int c = 0; c < Board.getColumns(); c++) {
TextIO.put(Player.getBoardsAll(i)[r][c], 4);
}
TextIO.putln();
TextIO.putln();
}
}
这就是上面的调用和设置:
private static ArrayList<String[][]> boardsAll = new ArrayList<String[][]>();
public static void setBoardsAll(String[][] input) {
boardsAll.add(input);
}
public static String[][] getBoardsAll(int location) {
return Player.boardsAll.get(location);
}
public static ArrayList<String[][]> getBoardsAll() {
return boardsAll;
}
【问题讨论】:
-
我怀疑您没有正确加载列表。你试过调试器吗?
-
你忘记在你的外循环上加一个右括号。
-
@BurakTutanlar 在编辑中添加了右括号。也许您的原始代码中也存在此错误,但我猜在这种情况下您会遇到编译器错误。
-
您是否尝试过使用 TextIO 填充您的数组?
-
刚刚添加了我的 getter 和 setter,当我运行完整代码时,它向 ArrayList 添加了 String[][] 的次数是正确的,但每次只打印最后一个。