2010-12-23 30 views
4

我是Java的noob,我遇到下面的代碼,無法弄清它的功能。 maxw []是一個int類型的數組。 row []是String類型的數組。Java初學者 - 字符串格式=「|% - 」+ maxW [j] +「s」; - 這個字符串是做什麼的?

   String format = " | %-"+maxW[i]+"s"; 
     System.out.printf(format,row[i]); 

我的問題是: 對於這一說法:System.out.printf(格式,行[1]);只有'|'之後,row [i]的值被打印出來,爲什麼'% - (maxW [i]的值)和's'沒有打印?

回答

0

format方法假定String描述了一個格式,如文檔中所述。它處理%x或類似的特殊方式,用第一,第二等參數代替它。

如果你想知道更多,我建議你閱讀這個方法的Javadoc。

5

描述Java格式說明符here

此代碼動態創建一個格式說明符,該格式說明符將以maxW [i]指定的最小寬度左對齊一個字符串(行[i])。

格式說明符遵循下面第一行的格式。在下面我將上面的代碼對齊,顯示它適合模式的位置。

%[argument_index$][flags] [width] [.precision]conversion 
" | %     -  "+maxW[i]   +"s"; 
+0

非常感謝Andy!這幫了我。 – Aniket 2010-12-23 17:39:41

相關問題