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

Était-ce utile?

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
scroll top