3

我试图通过在for循环中使用嵌套for循环遍历它来打印出一个二维数组。

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();

有任何想法吗?

4

1 回答 1

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));
}
于 2013-02-15T22:13:44.893 回答