web-dev-qa-db-fra.com

imprimer des espaces avec String.format ()

comment je peux réécrire ceci:

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

en utilisant String.format()?

[~ # ~] ps [~ # ~]

Je suis presque sûr que c'est possible mais le javadoc est un peu déroutant .

47
dfa

Vous devez spécifier la largeur minimale du champ.

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

Pourquoi voulez-vous générer une chaîne d'espaces d'une certaine longueur.

Si vous voulez une colonne de cette longueur avec des valeurs, vous pouvez faire:

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

qui vous donne des espaces numberOfSpaces-5 suivi de Hello. Si vous voulez que Hello apparaisse à gauche, ajoutez un signe moins avant numberOfSpaces.

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