実行中にSystem.err.printとSystem.out.printがどのように処理されるのか? 2次元と20次元の2次元配列を持っています。配列はマトリックスとして出力され、System.err.printを使用してすべてのIntegers> = 10が赤で表示されます。 やっている場合は、その出力は次のようになります。処理の違いSystem.err.print ans System.out.print
7 11 15 12 12 12 11 16 17 17 13 4 7
9 8 4
9
9 4 10
12 4 16 12 10
をすべて整数> = 10という赤と。
の代わりに、私が欲しい赤いマークせずに、この
11 7 4 15 7
9 12 8 12 4
9 12 11 16 17
17 9 4 13 10
12 4 16 12 10
のように見えます。第二の出力は、このコード
public static void printArray(int ar[][]) {
if (ar == null)
System.exit(0);
for (int i = 0; i < ar.length; i++) {
for (int j = 0; j < ar[i].length; j++) {
if (ar[i][j] < 10)
System.out.print(" " + ar[i][j] + "\t");
else
System.out.print(" " + ar[i][j] + "\t");
}
System.out.println();
}
}
で印刷されますながら
public static void printArray2(int ar[][]) {
if (ar == null)
System.exit(0);
for (int i = 0; i < ar.length; i++) {
for (int j = 0; j < ar[i].length; j++) {
if (ar[i][j] < 10)
System.out.print(" " + ar[i][j] + "\t");
else
System.err.print(" " + ar[i][j] + "\t");
}
System.out.println();
}
}
依然としてながらunformmated出力を防止する方法があります:
両方が同一の配列、最初にこのコードが印刷されますが、使用しますSystem.err.printを使用していますか?