java 如何对齐
对齐文本的方法
在Java中,可以使用String.format()方法或System.out.printf()方法来实现文本对齐。这些方法允许指定字段宽度和对齐方式。
左对齐
使用%-格式说明符实现左对齐。数字表示字段宽度,负号表示左对齐。
String leftAligned = String.format("%-10s", "text");
System.out.println(leftAligned);
右对齐
默认情况下,String.format()会右对齐文本。只需指定字段宽度即可。
String rightAligned = String.format("%10s", "text");
System.out.println(rightAligned);
居中对齐
Java标准库没有直接支持居中对齐,但可以通过计算空格实现。
String text = "text";
int width = 10;
int padSize = (width - text.length()) / 2;
String centered = String.format("%" + (padSize + text.length()) + "s", text);
System.out.println(centered);
数字对齐
对于数字,可以指定精度和填充字符。
double number = 123.456;
System.out.printf("%10.2f", number); // 右对齐,宽度10,保留2位小数
使用StringBuilder手动对齐
对于更复杂的对齐需求,可以使用StringBuilder手动构建字符串。
StringBuilder sb = new StringBuilder();
sb.append(String.format("%-20s", "Left Aligned"));
sb.append(String.format("%20s", "Right Aligned"));
System.out.println(sb.toString());
表格数据对齐
处理表格数据时,可以结合字段宽度和对齐方式创建整齐的列。

System.out.printf("%-15s %10s %10s%n", "Name", "Age", "Salary");
System.out.printf("%-15s %10d %10.2f%n", "John", 30, 55000.50);
System.out.printf("%-15s %10d %10.2f%n", "Alice", 25, 48000.75);
这些方法提供了灵活的文本对齐选项,适用于大多数格式化输出需求。






