繁体   English   中英

如何在 Java 中打印 3 x 3 数组中的列表?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM