0

現在、私は次の方法を持っています:

public static void printDoubleIntArray(int[][] doubleIntArray) {
for (int x = 0; x < doubleIntArray.length; x++) {
    System.out.println();
    for (int y = 0; y < doubleIntArray[x].length; y++) {
    System.out.print(doubleIntArray[x][y]);
    }
}
}

次の出力のように、パラメーター「doubleIntArray」が 0 ~ 9 の数字のみの場合、完全に機能します。

0000000
0000300
0033332
0023323
0022223
0023233
0003332

ただし、配列の各要素の整数が 9 より大きくなると、次のようになります。

0000000
000121797
001717171716
0101617171617
001616161617
081617161717
001417171716

私が知りたいのは、上記の例を次のように出力する方法です。

0   0   0   0   0   0   0
0   0   0  12  17   9   7
0   0  17  17  17  17  16
0  10  16  17  17  16  17
0   0  16  16  16  16  17
0   8  16  17  16  17  17
0   0  14  17  17  17  16
4

6 に答える 6

2
System.out.print(doubleIntArray[x][y] + "\t");

\t タブを印刷

ただし、この場合、次のように出力されます: (しかし、それで問題ないと思います)

0   0   0   0   0   0   0
0   0   0   12  17  9   7
0   0   17  17  17  17  16
0   10  16  17  17  16  17
0   0   16  16  16  16  17
0   8   16  17  16  17  17
0   0   14  17  17  17  16
于 2013-07-04T16:04:08.617 に答える
2

またはString.format("%4d", myinteger)、各整数が 4 文字を占めるようにし、適切に右側にパディングするために使用します。

于 2013-07-04T16:11:20.240 に答える
2

java.text.NumberFormatすべての数値を固定幅で表示するパターンを使用してみてください。次に、それらをすべて 1 行に連結します。

于 2013-07-04T16:04:37.273 に答える
1
System.out.printf("%4d", doubleIntArray[x][y]);

4 は、数値が印刷される最小スペースを表します。

この方法のその他のオプションについては、こちらで説明しています

于 2013-07-04T16:11:01.273 に答える
0
public static void printDoubleIntArray(int[][] doubleIntArray) {
for (int x = 0; x < doubleIntArray.length; x++) {
System.out.println();
 for (int y = 0; y < doubleIntArray[x].length; y++) {
System.out.print(doubleIntArray[x][y],"\t");
    }
 System.out.print("\n");
}
}
于 2013-07-05T11:29:28.123 に答える