J'utilise String.format () dans Java essayant d'émuler 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 chaînes sont imprimées alignées à droite dans leur champ.
Comment aligner à gauche les chaînes?
Voici un exemple d'une sortie possible que je voudrais modifier pour aligner à 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érez '-' comme un espace vide
De la même manière qu'avec printf - utilisez un -
modificateur au format
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);
}
}
}
Sortie:
$Java F
Process PID: 123 Status : EXECUTING
Process PID: 34 Status : READY-SUSPENDED
Process PID: 1231 Status : CREATED