2009-05-06 8 views
1

私は初心者で、フォーマットされた出力を試しています。私は、小数点以下の表を作成しようとしている
このJava形式の出力が右寄せになっていないのはなぜですか?

for (int i = 0; i < 8; i++) { 
    for (int j = 0; j < 8; j++) { 
    row = (double) 5*i; 
    column = (double) j + 1; 
    System.out.format("% 6.3f", row/column); 
    System.out.print("\t"); 
    } 
    System.out.format("%n"); 
} 

これが生成します。

0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 
5.000 2.500 1.667 1.250 1.000 0.833 0.714 0.625 
10.000 5.000 3.333 2.500 2.000 1.667 1.429 1.250 
15.000 7.500 5.000 3.750 3.000 2.500 2.143 1.875 
20.000 10.000 6.667 5.000 4.000 3.333 2.857 2.500 
25.000 12.500 8.333 6.250 5.000 4.167 3.571 3.125 
30.000 15.000 10.000 7.500 6.000 5.000 4.286 3.750 
35.000 17.500 11.667 8.750 7.000 5.833 5.000 4.375 

APIがあればと言う「 - 」フラグがスローされていない場合、出力は右になります - 正当化された、それは私が望むものです。私は必要なときに出力に空白を埋めたいことを示す%の後に ''を置いています。私は何が欠けていますか?

(私はどのコースに登録わけではないので、私は、宿題のタグを使用していない。)

答えて

2

あなたはフォーマット文字列に間違ってスペースを追加しました:

System.out.format("% 6.3f", row/column); 

は次のようになります。

System.out.format("%6.3f", row/column); 

そして、あなたが得る:

0.000   0.000   0.000   0.000   0.000   0.000   0.000   0.000   
5.000   2.500   1.667   1.250   1.000   0.833   0.714   0.625   
10.000   5.000   3.333   2.500   2.000   1.667   1.429   1.250   
15.000   7.500   5.000   3.750   3.000   2.500   2.143   1.875   
20.000  10.000   6.667   5.000   4.000   3.333   2.857   2.500   
25.000  12.500   8.333   6.250   5.000   4.167   3.571   3.125   
30.000  15.000  10.000   7.500   6.000   5.000   4.286   3.750   
35.000  17.500  11.667   8.750   7.000   5.833   5.000   4.375 
+0

ありがとうございました。 –

+0

問題はありません:) – willcodejavaforfood

関連する問題