打印格式化数组

时间:2013-02-15 22:12:55

标签: java arrays printing

我正在尝试通过在for循环中使用嵌套for循环遍历它来打印出2D数组。

char[][] largeArray = {{'&','&','^','#','@','@','@','@','&','*','*','*'},
                       {'#','&','&','^','@','@','@','@','*','*','*','*'}}

for (int r = 0; r < 2; r++)
{
    for (int c = 0; c < 12; c++)
    {
        System.out.print(largeArray[r][c]);
    }
}

它打印出来的是该数组中所有内容的单行

有没有办法打印该数组的第一行(第一个括号中的所有内容) 然后下一行或下一个括号?我不希望第一行和第二行之间有任何额外的空间。所以我真的不能只使用System.out.println();

有什么想法吗?

1 个答案:

答案 0 :(得分:6)

打印每行后需要打印换行符:

for(int r = 0; r < 8; r++)
{
    for(int c = 0; c < 12; c++)
    {
        System.out.print(largeArray[r][c]);
    }
    System.out.println(); // Add this outside the inner loop
}

您还可以考虑使用Arrays.toString方法打印数组,以避免使用这样的嵌套循环:

for(int r = 0; r < 2; r++) {
    System.out.println(Arrays.toString(largeArray[r]));
}

此外,为了进一步使代码看起来更好,可以使用增强的for循环而不是旧循环来避免像这样索引数组:

for (char[] arr: largeArray) {
    System.out.println(Arrays.toString(arr));
}