java - justificar - ¿Cómo puedo alinear a la izquierda las cadenas usando String.format()?
printf java (2)
¿Me 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);
}
}
}
Salida:
$java F
Process PID: 123 Status : EXECUTING
Process PID: 34 Status : READY-SUSPENDED
Process PID: 1231 Status : CREATED
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 a la derecha en su campo.
¿Cómo alineo a la izquierda las cuerdas?
Aquí hay un ejemplo de un posible resultado 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
Igual que con printf: use un modificador en el formato