49

我如何重写这个:

for (int i = 0; i < numberOfSpaces; i++) {
    System.out.print(" ");
}

使用String.format()

附言

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

4

2 回答 2

71

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

String.format("%" + numberOfSpaces + "s", ""); 

为什么要生成一定长度的空格字符串。

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

String.format("%" + numberOfSpaces + "s", "Hello"); 

它为您提供 numberOfSpaces-5 个空格,然后是 Hello。如果您希望 Hello 出现在左侧,则在 numberOfSpaces 之前添加一个减号。

于 2009-07-02T11:21:16.437 回答
17
int numberOfSpaces = 3;
String space = String.format("%"+ numberOfSpaces +"s", " ");
于 2009-07-02T11:26:32.840 回答