Форматирование текста Java - PullRequest
3 голосов
/ 05 октября 2009

Как мне отформатировать строку текста, такую ​​как имя, фамилия, телефон и т. Д., Чтобы они выглядели как столбцы?

это не будет делать:

String customer = "\t"+surname+"\t"+givenname+"\t"+blablabla

Ответы [ 3 ]

8 голосов
/ 05 октября 2009

См. Документацию для <a href="http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#format%28java.util.Locale,%20java.lang.String,%20java.lang.Object...%29" rel="noreferrer">String.format()</a>. Используйте максимальную длину каждого столбца, плюс 1.

2 голосов
/ 05 октября 2009

В дикой сети есть несколько библиотек, которые могут сделать это за вас - с общим ограничением, которое обычно будет работать с моноширинными шрифтами (такими как Courier). Одной из этих библиотек является iNamik Text Table Formatter для Java , но если вы воспользуетесь Google для поиска java text table, вы найдете гораздо больше.

2 голосов
/ 05 октября 2009

Проблема с использованием символов табуляции заключается в том, что их ширина зависит от настроек консоли, которую вы используете для отображения, что означает, что вы не можете гарантировать, что все столбцы выстроятся в линию с использованием этого подхода.

Предполагая, что вы форматируете текст на консоли с использованием моноширинного шрифта, вы можете использовать одиночные пробелы для заполнения каждой строки. Для этого вам нужно знать максимальную длину каждого строкового поля для данного столбца.

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