如何在 java 中使用 printf 将所有需要的输出左对齐

How to align all desired output to the left with printf in java

我正在使用 System.out.printf("%-8d | %-5s | %-15s\n", a, b, c); 格式化我的输出,我正在使用 - 向左对齐,但我想在 [ 旁边放置一个也向左对齐的点=13=]数。 例如 : 1. | 123 | PICO .

当我放置像 %-8d. 这样的点时,int 左对齐而不是点 1 . | 123 | PICO ,我该如何实现?

至于@Pshemo 的评论,仅破折号是不够的,一个简单的解决方案是简单地将 int 转换为 String 变量并在该变量后连接一个点,然后在第一个字段中使用破折号:

int number = 1;
String a = number + ".";

System.out.printf("%-8s | %-5s | %-15s\n", a, b, c);

输出:

1.       | 123   | PICO