使用String.format()打印空格

dfa*_*dfa 47 java string format

我怎么能改写这个:

for (int i = 0; i < numberOfSpaces; i++) {
    System.out.print(" ");
}
Run Code Online (Sandbox Code Playgroud)

String.format()

PS

我很确定这是可能的,但javadoc有点令人困惑.

pjp*_*pjp 68

您需要指定字段的最小宽度.

String.format("%" + numberOfSpaces + "s", ""); 
Run Code Online (Sandbox Code Playgroud)

为什么要生成一定长度的字符串.

如果你想要一个这个长度的列与值,那么你可以这样做:

String.format("%" + numberOfSpaces + "s", "Hello"); 
Run Code Online (Sandbox Code Playgroud)

它为您提供numberOfSpaces-5空格,然后是Hello.如果您希望Hello显示在左侧,则在numberOfSpaces之前添加减号.

  • 或者,如果你感觉很好,String.format(String.format("%%% ds",numberOfSpaces),"") (13认同)

wil*_*ood 17

int numberOfSpaces = 3;
String space = String.format("%"+ numberOfSpaces +"s", " ");
Run Code Online (Sandbox Code Playgroud)