форматирование строки:% 20s - PullRequest
0 голосов
/ 07 февраля 2020

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

, если мы поставим любое целое число меньше, чем 20 это не сработает вообще, и когда я поставлю 20, длина поля будет 9 пробелов ...

я был бы признателен, если бы вы могли помочь мне

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

Когда мы форматируем строку, используя

String.format("%*some_no* s", "*some_string*")

, перед печатью строки будет some_no - длина some_string пробелов.

Это означает, что ваша строка будет дополнена пробелами, пока длина последней строки не будет равна some_no

Check https://www.javatpoint.com/java-string-format

0 голосов
/ 07 февраля 2020

%20s означает, что ваша строка будет дополнена слева, если ее длина меньше 20.

  • Если длина вашей строки length символов, длина <20, то она будет добавлена ​​<code>(20-length) пробелов слева.
  • Если ваша строка содержит более 20 символов, то ничего не добавляется (и строка не усекается)

Примеры:

System.out.println(":" + String.format("%20s", "HelloWorld") + ":");
:          HelloWorld:

System.out.println(":" + String.format("%20s", "Damn this is a long string") + ":");
:Damn this is a long string:
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...