Comment puis-je les chaînes d'alignement gauche en utilisant String.Format ()?
-
28-10-2019 - |
Question
J'utilise String.Format () en Java en essayant d'imiter le canal de contrôle printf () disponible en C. Je comprends comment spécifier qu'une chaîne doit être placée dans un champ qui prend 20 caractères, 5, 2 ... avec 3 décimales, 2, etc. Cependant, les cordes sont imprimées à droite dans leur domaine.
Comment puis-je aligner les cordes?
Voici un exemple de sortie possible que je voudrais modifier en ajustement gauche EXECUTING
et CREATED
dans leurs champs.
Process PID: 25 Status: ----------- EXECUTING
Process PID: 36 Status: READY-SUSPENDED
Process PID: 4 Status: ---------------- CREATED
* Remarque: Considérons '-' comme un espace vide
La solution
De la même manière qu'avec printf - utilisez un -
modificateur dans le format
Autres conseils
Comme ça?
class F {
public static void main( String ... args ) {
String [] status = { "EXECUTING", "READY-SUSPENDED", "CREATED" };
int [] pids = {123, 34, 1231 };
int i = 0;
for( String s : status ) {
System.out.printf("Process PID: %5d Status : %s%n", pids[i++], s);
}
}
}
Production:
$java F
Process PID: 123 Status : EXECUTING
Process PID: 34 Status : READY-SUSPENDED
Process PID: 1231 Status : CREATED
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow