-1

私は2Dテーブルを表示しようとしましたが、何らかの理由で表示できません。間違って書いたものがわかりません。

これは私のコードです(私はvimで作業しています):

            int [][] tab = new int [5][5];

            for (int i= 0; i<tab.length ; i++){
                    for (int j =0; j<tab[i].length; j++){
                            tab[j][i]=i;
                            System.out.println("" + tab[j][i]);
                    }
                    System.out.println("");
            }
    }

このコードの結果は次のとおりです。

0

0

0

0

1

1

1

1

2

2

2

2

3

3

3

3

4

4

4

4

そして私は欲しい:

0 0 0 0

1 1 1 1

2 2 2 2

3 3 3 3

4 4 4 4

誰かがこれを手伝ってくれますか?

ありがとうございました

4

3 に答える 3

2

内側のループで、次を置き換えます。-

System.out.println("" + tab[j][i]);

と: -

System.out.print(" " + tab[j][i]);

同じ行に印刷を続けたいので。

于 2012-12-04T19:39:18.070 に答える
0

問題はそれですSystem.out.println("" + tab[j][i]);

を変更した場合は、出力に1行全体を出力します

System.out.println("" + tab[j][i]);

System.out.print(tab[j][i] + " ");

空白を追加すると、その行に文字列が出力されますが、改行して新しい行で開始することはありません。@Rohit Jainの投稿を試してみてください、これは正しい解決策です...

于 2012-12-04T19:55:18.520 に答える
0

コードを変更する必要があります

int [][] tab = new int [5][5];
for (int i= 0; i<tab.length ; i++){
    for (int j =0; j<tab[i].length; j++){
        tab[i][j]=i;
        System.out.print( tab[i][j]+" ");
    }
    System.out.println("");
}

すべての行に対して外側のループを実行し、すべての列に対して内側のループを実行します。したがって、コードエラーをなくすには、tab [i] [j](慣例はtab [row] [col])を使用する必要があります。そして、ここであなたの場合、あなたは等しい行と列を持っています。ただし、異なる場合は問題が発生する可能性があります。

于 2012-12-04T19:56:32.720 に答える