Новичок в Java - String format = "|% -" + maxW [j] + "s"; - Что делает эта строка? - PullRequest
4 голосов
/ 23 декабря 2010

Я новичок в Java, и я наткнулся на приведенный ниже код и не мог понять его функцию.maxw [] - это массив типа int.row [] - это массив типа String.

             String format = " | %-"+maxW[i]+"s";
       System.out.printf(format,row[i]);

Мои вопросы: Для этого оператора: System.out.printf (format, row [i]);только '|'и после этого значения строки [i] выводятся на печать, так почему же '% - (значение maxW [i]) и' s 'не выводятся на печать?

Ответы [ 2 ]

5 голосов
/ 23 декабря 2010

Описание спецификаторов формата Java здесь .

Этот код динамически создает спецификатор формата, который выравнивает по левому краю строку (row [i]) с минимальной шириной, указанной maxW[i].

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

    %[argument_index$][flags] [width] [.precision]conversion
" | %                  -     "+maxW[i]           +"s";
0 голосов
/ 23 декабря 2010

Метод format предполагает, что String описывает формат в том виде, в каком он указан в документации.Он обрабатывает% x или тому подобное специальным способом, заменяя его первым, вторым аргументом и т. Д.

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

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