首先查看Formatted Strings。 String.format 和 printf 共享相同的格式规则
所以,类似...
System.out.printf("%15s", "Name:");
System.out.printf("%4s", "Age:");
System.out.printf("%17s:%n", "Gender:");
会产生类似...
Name: Age: Gender:
现在,我特意将示例分成三行,但您可以改用像 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 了解有关格式说明符的更多详细信息