2016-02-24 45 views
-1

所以我有這樣的代碼格式化最終的字符串HEADING_FMT_STR

public class CarInventoryReport 
{ 
    public static void main(String[] args) 
    { 
     final String HEADING_FMT_STR = "%-25s%13s%13s%13s\n"; 
     final String DATA_FMT_STR = "%-25s%13d%13.0f%13.0f\n"; 
     String item1 = "Mazda RX-8"; 
     int qty1 = 10; 
     double price1 = 27999.99; 
     String item2 = "MINI Cooper"; 
     int qty2 = 100; 
     double price2 = 23000.25; 

     System.out.printf(HEADING_FMT_STR, 
     "Item", "Quantity", "Price", "Value"); 
     System.out.printf(HEADING_FMT_STR, 
     "-----", "-------", "------", "------"); 
     System.out.printf(DATA_FMT_STR,item1,qty1,price1,qty1*price1); 
     System.out.printf(DATA_FMT_STR,item2,qty2,price2,qty2*price2); 
    } // end main 
} // end class CarInventoryReport 

輸出:

Item       Quantity  Price  Value 
-----       -------  ------  ------ 
Mazda RX-8       10  28000  280000 
MINI Cooper      100  23000  2300025 

我不就是在這兩條線是如何格式化

final String HEADING_FMT_STR = "%-25s%13s%13s%13s\n"; 
    final String DATA_FMT_STR = "%-25s%13d%13.0f%13.0f\n"; 

更多具體而言,這些部分:這是如何格式化的,它如何轉化爲使輸出工作?

"%-25s%13s%13s%13s\n"

"%-25s%13d%13.0f%13.0f\n"

而且我想弄清楚如何獲得的值逗號出現在我值一列。爲了讓他們出現,我需要添加什麼?

+3

[這裏的格式字符串文檔】(https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html)。 [編輯]你的問題來解釋你不明白的部分。 –

回答

1

以下內容將在Value列中顯示逗號(注意逗號包含在DATA_FMT_STR中)。

final String DATA_FMT_STR = "%-25s%13d%13.0f%,13.0f\n"; 

輸出:

Item       Quantity  Price  Value 
-----       -------  ------  ------ 
Mazda RX-8       10  28000  280,000 
MINI Cooper      100  23000 2,300,025