Java println форматирование, чтобы я мог отобразить таблицу? - PullRequest
12 голосов
/ 31 августа 2009

Как я могу использовать System.out.print(ln/f) таким образом, чтобы я мог отформатировать вывод в таблицу?

Если я буду использовать printf, какое форматирование я должен указать для достижения следующих результатов?

Пример таблицы, которую я хотел бы напечатать:

n       result1      result2      time1      time2    
-----------------------------------------------------  
 5      1000.00      20000.0      1000ms     1250ms
 5      1000.00      20000.0      1000ms     1250ms
 5      1000.00      20000.0      1000ms     1250ms

Со всем, что выстроено, красиво и красиво?

Ответы [ 2 ]

23 голосов
/ 31 августа 2009

Да, начиная с Java 5, класс PrintStream, используемый для System.out, имеет метод printf, так что вы можете использовать форматирование строки.


Обновление:

Фактические команды форматирования зависят от данных, которые вы печатаете, точного интервала, который вы хотите, и т. Д. Вот один из многих возможных примеров:

System.out.printf("%1s  %-7s   %-7s   %-6s   %-6s%n", "n", "result1", "result2", "time1", "time2");
System.out.printf("%1d  %7.2f   %7.1f   %4dms   %4dms%n", 5, 1000F, 20000F, 1000, 1250);
System.out.printf("%1d  %7.2f   %7.1f   %4dms   %4dms%n", 6, 300F, 700F, 200, 950);
4 голосов
/ 31 августа 2009

вы можете println("\t"), который печатает вкладку, он все выровняет легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...