Java 在字符串中间插入可变数目的空白(格式化“用法”)

Java 在字符串中间插入可变数目的空白(格式化“用法”),java,Java,如何将其重构为一行 String format = "%-20s"; System.out.print(String.format(format, "Property name")); System.out.println(": property value"); 可能我想要这样的东西,问题是我应该使用什么格式 System.out.println(String.format(format, "Property name", ": property value")); 但是为什么要麻烦呢?我

如何将其重构为一行

String format = "%-20s";
System.out.print(String.format(format, "Property name"));
System.out.println(": property value");
可能我想要这样的东西,问题是我应该使用什么
格式

System.out.println(String.format(format, "Property name", ": property value"));

但是为什么要麻烦呢?

我认为(不是很确定)问题的关键是能够通过编程更改两个字段之间的空白量。问题当前使用的值为20。@JohnB好的。我认为上面的内容可以很容易地扩展。您是否在寻求一种方法以编程方式更改上面的“20”?当有
printf
时,为什么还要麻烦使用
println
?@DaveNewton
printf
不提供当您放入%n时的新行。这就是为什么,我不知道。谢谢更新。
System.out.printf("%-" + length + "s: %s%n", 
      "Property name", "property value");
System.out.printf("%-" + length + "s: %s%n", 
      "Property name", "property value");