2017-10-14 80 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位的小數點後的數字來。