如何在 java 中以类似列的形式打印字符串

How to print strings in column-like in java

假设我想打印 3 行和每行旁边的一个数字,用 3 个制表符分隔,输出如下所示:

this is a line          3
this is a medium line           3
this is a very long line            3

好的,所有这些行都用带有 3 个制表符的“3”数字分隔。 有没有办法让所有“3”数字都像这样出现在另一个下面? :

this is a line                  3
this is a medium line           3
this is a very long line        3

本质上,您希望为每一列输出一个填充的 String,该列的长度等于最长可能值的长度。您可以手动执行此操作,在必要时填充字符串,或者使用 System.out.format 并使用一个简单的命令填充输出:-

System.out.format("%20s%5d", str, val);

在内部,这使用 Formatter,因此第一个参数使用该语法来决定有多少个字符(在本例中为 32 个字符串 %20s 和一个 10 个字符的十进制整数 %5d)以下每个变量都占用。