Como posso alinhar as strings à esquerda usando String.format ()?
-
28-10-2019 - |
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
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