Pregunta

Estoy usando String.format () en Java tratando de emular el canal de control printf () disponible en C. Entiendo cómo especificar que una cadena debe colocarse en un campo que toma 20 caracteres, 5, 2... con 3 decimales, 2, etc. Sin embargo, las cadenas se imprimen alineadas a la derecha en su campo.

¿Cómo alineo las cadenas a la izquierda?

Aquí hay un ejemplo de una posible salida que me gustaría modificar para alinear a la izquierda EXECUTING y CREATED en sus campos.

Process PID: 25    Status: -----------       EXECUTING
Process PID: 36    Status: READY-SUSPENDED
Process PID:  4    Status: ----------------        CREATED

* nota: considere '-' como un espacio vacío

¿Fue útil?

Solución

De la misma manera que con printf: use un modificador - en el formato

Otros consejos

¿Te gusta esto?

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

Resultado:

$java F
Process PID:   123 Status : EXECUTING
Process PID:    34 Status : READY-SUSPENDED
Process PID:  1231 Status : CREATED
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top