[英]How to print a list in a 3 by 3 array in Java?
如果我想要这份清单
List<Character> Board = Arrays.asList('1', '2', '3', '4', '5', '6', '7', '8', '9');
打印为
1 2 3
4 5 6
7 8 9
我该怎么做呢? 你能帮忙的话,我会很高兴。
假设正好是 3 x 3 大小:
for (i=0; i<9; i+=3) {
for (j=i; j<i+3; j++) {
System.out.printf(" %c", Board.get(j));
}
System.out.println();
}
对任何 N x M 的泛化工作留给读者作为练习。
你可以这样做:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(Board.get(i * 3 + j) + " ");
}
System.out.println();
}
您需要一个动态分隔符。 第一个字符很特殊,因为您不需要分隔符。 否则,默认为空格。 每三个字符将其更改为两个换行符。 此外,Java 命名约定将是board
(而不是Board
)。 就像是,
String sep = "";
for (int i = 0; i < board.size(); i++) {
System.out.printf("%s%c", sep, board.get(i));
sep = (i + 1) % 3 == 0 ? "\n\n" : " ";
}
输出(按要求)
1 2 3
4 5 6
7 8 9
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.