Ответ 1
То же самое, что и с printf - используйте модификатор -
в формате
Я использую String.format() в Java, пытаясь эмулировать канал управления printf(), доступный в C. Я понимаю, как указать, что строка должна быть помещена в поле, которое занимает 20 символов, 5, 2... с 3 десятичными знаками, 2 и т.д. Однако строки напечатаны с правой стороны в их поле.
Как выровнять строки по длине?
Вот пример возможного вывода, который я хотел бы изменить влево-выровнять EXECUTING
и CREATED
в своих полях.
Process PID: 25 Status: ----------- EXECUTING
Process PID: 36 Status: READY-SUSPENDED
Process PID: 4 Status: ---------------- CREATED
* note: рассмотрим '-' как пустое пространство
То же самое, что и с printf - используйте модификатор -
в формате
Как это?
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);
}
}
}
Вывод:
$java F
Process PID: 123 Status : EXECUTING
Process PID: 34 Status : READY-SUSPENDED
Process PID: 1231 Status : CREATED