49 votes

espaces d'impression 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 sûr que c'est possible, mais le javadoc est un peu déroutant .

71voto

pjp Points 7012

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"); 
 

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

17voto

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X