2012-10-09 33 views
1
String result = String.format("% % % | %-20s| %25s | $%,8.2f | %5d | %-s", thisYear, thisMonth, thisDay, 
        eventName, eventVenue, ticketPrice, ticketsRemaining, eventType); 

ints:thisYear,thisMonth,thisDay,ticketsRemaining。這個String格式化程序行有什麼問題?

字符串:eventName,eventVenue,eventType。

double:ticketPrice。

我已驗證所有字段已正確初始化。此行應輸出格式爲:

2012-01-20 | Penguins-Capitals |  CONSOL Energy Center | $ 92.35 | 15 | NHL 
2012-08-05 | Chickenfoot   | Riverplex Amphitheatre | $ 62.50 | 1,273 | Concert 

格式化是不完整的,但我得到的失敗,當我嘗試運行它,所以有一些語法錯誤在那裏。格式化程序我不太好。

+1

什麼樣的故障? – Alfabravo

回答

0

你應該確保你%後加總的類型,在這種情況下,它%d

String result = String.format("%4d-%02d-%02d | %-20s| %25s | $%.3f | %5d | %s", thisYear, thisMonth, thisDay, 
       eventName, eventVenue, ticketPrice, ticketsRemaining, eventType); 

爲進行,代替.看這個thread

+0

謝謝,但是當我嘗試調試修改後的格式化程序時,我仍然遇到致命錯誤。 '$%,8.2f'字段的格式是否正確? –

+0

不,應該是$%4.3f或$%。3f取決於之前的字符',' – Eun

+0

還是不行。這裏是整個班級(自包含的)http://pastebin.com/gJEM76Dh –