Pergunta

Estou usando String.format () em Java tentando emular o canal de controle printf () disponível em C. Eu entendo como especificar que uma string deve ser colocada em um campo de 20 caracteres, 5, 2... com 3 decimais, 2, etc. No entanto, as strings são impressas alinhadas à direita em seus campos.

Como faço para alinhar as strings à esquerda?

Aqui está um exemplo de uma saída possível que eu gostaria de modificar para alinhar à esquerda EXECUTING e CREATED em seus campos.

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

* nota: considere '-' como um espaço vazio

Foi útil?

Solução

Da mesma forma que com printf - use um modificador - no formato

Outras dicas

Gosta disso?

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top