首先查看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