3

for ループ内にネストされた for ループを使用して 2D 配列を走査して、2D 配列を出力しようとしています。

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

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

印刷されるのは、その配列内のすべての単一行です

その配列の最初の行(最初の括弧内のすべて)を印刷してから、次の行または次の括弧を印刷する方法はありますか? 1 行目と 2 行目の間に余分なスペースを入れたくありません。だから私は本当にただ使うことはできません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 に答える