2017-10-14 11 views
0

私はJavaでランダム等級のジェネレータを作ったので、printfを使って定期的にプロパティを出力したいと思います。そして私は%dで印刷できない二重の変数を持っています。printfで二重にし、javaでprintfと線を整列する

double average; 
ArrayList<Double> average1=new ArrayList<Double>(); 

//for loop 
System.out.printf("%s%10s%10d%5d%5d%5d%5d%15f%10s\n",name1.get(j),lastname1.get(j),quiz1.get(j),quiz2.get(j),project.get(j),midterm.get(j),final.get(j),average.get(j),lettergrade.get(j)); 

出力の最初の2行:ここに私のコードの例である

Ypu MBQLCKU  33 53 54 20 81  48,000000   D 
Pgkff  YDH   1 35 55 40 56  37,000000   D 
//.....so on so forth 

そして、私は次のようにそれらを整理したい:

Ypu  MBQLCKU  33 53 54 20 81  48,00   D 
Pgkff YDH   1 35 55 40 56  37,00   D 

と%fは私に非常に多くを与えますコンマの後に0が付きます。 57,34のように正確な倍数が必要です。 printfコードのこの左側で何を変更する必要がありますか?

答えて

0

あなたは小数点は、次のフォーマッタを使用した後に来る数字に制限したい場合:

double y=25.1299; 
System.out.printf("y=%.2f ",y); 

数2はあなたに小数点以下の後に来る数字のために2つのスペースを提供します。