我試圖打印出一張表,其中每列是一個不同的arraylist,其中每個元素然後沿着一條線。因此,像這樣:如何在java中使用printf()打印出表格?
Name: Age: Gender:
Bob 18 Male
Mary 25 Female
等等.. 我怎麼會和printf()語句格式化這個?
我試圖打印出一張表,其中每列是一個不同的arraylist,其中每個元素然後沿着一條線。因此,像這樣:如何在java中使用printf()打印出表格?
Name: Age: Gender:
Bob 18 Male
Mary 25 Female
等等.. 我怎麼會和printf()語句格式化這個?
System.out.printf("Name: %s\nAge: %d\nGender: %s\n", name, age, gender);
首先查看Formatted Strings。 String.format
和printf
共享相同的格式規則
所以,像...
System.out.printf("%15s", "Name:");
System.out.printf("%4s", "Age:");
System.out.printf("%17s:%n", "Gender:");
會產生類似...
Name: Age: Gender:
現在,我已經deliberatly細分的例子分成三行,但您可以使用一行代替System.out.printf("%-15s%-4s%17s%n", "Name:", "Age:", "Gender:");
。
這裏最重要的是%
和s
,%15s
,它允許格式化填寫剩餘的空間與多達15位(爲Name:
,將增加10個空格),這將成爲明顯的間數下面的例子...
接下來,我們需要對數據進行格式化,例如...
String name = "Bob";
int age = 18;
String gender = "Male";
System.out.printf("%-15s", name);
System.out.printf("%4d", age);
System.out.printf("%17s%n", gender);
name = "Mary";
age = 25;
gender = "Female";
System.out.printf("%-15s", name);
System.out.printf("%4d", age);
System.out.printf("%17s%n", gender);
注意,每一列使用相同的間距!這個很重要!
總之,這將打印出...
Name: Age: Gender:
Bob 18 Male
Mary 25 Female
另見Format String Syntax獲取關於格式specifers
不能你只需要使用兩個'爲loops'並顯示每個單元的更多細節? – Sacert
http://www.homeandlearn.co.uk/java/java_formatted_strings.html ['System.out.printf'](http://docs.oracle.com/javase/7/docs/api/java/io/ PrintStream.html#printf%28java.lang.String,%20java.lang.Object ...%29) – zapl
lel。我知道這件事,但不知道C的printf是不是我想到的東西。但是,哦,好吧......每個人都會犯錯:p –