Java:如何使用变量正确对正文本

时间:2018-07-20 03:27:18

标签: java string text format

我正在尝试像这样对齐右侧的一些文本:

String text = "whatever";
System.out.printf("%4s", text);

除了要使用格式方案中的数字4之外,我想使用一个整数变量,但是我不知道该怎么做。请帮忙。

我尝试过的事情:

int spaceCount = 4;
String text = "whatever";
System.out.printf("%{spaceCount}s", text);

2 个答案:

答案 0 :(得分:1)

Java不是俗套的;您必须建立旧式的格式:

System.out.printf("%" + spaceCount + "s", text);

如果要避免对字符串串联进行编码,则可以设置格式:

System.out.printf(String.format("%%%ds", spaceCount), text);

答案 1 :(得分:0)

printf文档指出:

  

使用指定格式字符串和参数将格式化字符串写入此输出流的便捷方法。

因此很容易实现参数化对齐方式:

System.out.printf("%" + spaceCount + "s", "Hello");

它还提到:

  

对该形式out.printf(format,args)的方法的调用与该调用的行为完全相同:相同out.format(format, args)

所以您也可以通过以下方式实现它:

System.out.format("%" + spaceCount + "s", "Hello");