2015-10-09 71 views
2

使用writer.format並傳遞預定義的格式字符串(%5s%10s ...),將字符串數組解析爲單獨參數的最佳方法是什麼?如何傳遞多個數組值作爲格式參數?

所以,如果我有:

Printwriter writer = new Printwriter ("table.txt"); 
String[] columns = {"Name", "Month", "Day"}; 
String form_string = "%20s%10s%5s"; 

如何傳遞數組元素的名稱,月,日爲ARG1,ARG2,ARG3在:

writer.format(form_string, arg1, arg2, arg3); 
+0

我們能不能在這個問題中得到一些例子 – Aaron

+0

增加樣例代碼 – PeterSon

+0

留在'writer.format(form_string,columns [0],columns [1],columns [2]);'。最明顯的。附:爲什麼不用「%-20s」左對齊的填充? –

回答

0

由於Java 1.5的PrintWriter類有一個方法printf(見https://docs.oracle.com/javase/8/docs/api/java/io/PrintWriter.html#printf-java.lang.String-java.lang.Object...-)它可以幫助你,因爲它只允許一個參數數組。

在這裏你有一個代碼片段:

PrintWriter writer = new PrintWriter(System.out); 
String[] columns = {"Name", "Month", "Day"}; 
String form_string = "%20s%10s%5s"; 
writer.printf(form_string,columns); 
writer.flush(); 

輸出剛剛格式化所需格式。

  Name  Month Day 

希望這有助於!