2009-10-05 2 views
3

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

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

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

ответ

8

Смотрите документацию для String.format(). Максимальная длина каждой колонки может быть равна 1.

+1

Или используйте более простую версию [String.format (String, Object ...)] (http://docs.oracle.com/javase/1.5.0/docs/api/java/lang/String.html# формат% 28java.lang.String,% 20java.lang.Object ...% 29) – Alex

2

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

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

2

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

Смежные вопросы