Java – print spaces with String.format()


how I can rewrite this:

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

using String.format()?


I'm pretty sure that this is possible but the javadoc is a bit confusing.

Best Solution

You need to specify the minimum width of the field.

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

Why do you want to generate a String of spaces of a certain length.

If you want a column of this length with values then you can do:

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

which gives you numberOfSpaces-5 spaces followed by Hello. If you want Hello to appear on the left then add a minus sign in before numberOfSpaces.