2009-07-02 15 views
45

私はこれを書き換えることができる方法:印刷スペース()

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

String.format()を使用していますか?

PS

私はこれが可能であるが、javadoc is a bit confusingことをかなり確信しています。

+0

私は疑問に思うことはありませんので、彼らはupvotingに値する信用を得る! Cで – willcodejavaforfood

答えて

63

フィールドの最小幅を指定する必要があります。

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

なぜ特定の長さのスペース文字列を生成したいのですか?

あなたが値を持つこの長さの列をしたいなら、あなたが行うことができます:あなたはnumberOfSpaces-5こんにちは続くスペースを与える

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

。 Helloを左に表示するには、numberOfSpacesの前にマイナス記号を追加します。

+1

私は書くだろう:printf( "%。* s"、numberOfSpacs、 "");文字列の連結なしで – dfa

+13

または、あなたが気が気味なら、String.format(String.format( "%%% ds"、numberOfSpaces)、 "") – skaffman

+0

@skaffman:きれいなメタ:) –

17
int numberOfSpaces = 3; 
String space = String.format("%"+ numberOfSpaces +"s", " ");