Форматирование строк, непонимание, почему вывод такой, какой он естьJAVA

Программисты JAVA общаются здесь
Anonymous
Форматирование строк, непонимание, почему вывод такой, какой он есть

Сообщение Anonymous »

Мне трудно понять, что конкретно делает форматирование строк для этого кода в toString:

Код: Выделить всё

public String toString(){
string output = String.format("%4s -30s %3d %10.2f %11.2f", "CM01", "Computer Monitor",2, 114.9884, 229.96213)
Я взял это из реального класса. Изначально после форматирования были переменные, поэтому я ввел здесь некоторые примеры вывода для вопроса.
Пример вывода выглядит следующим образом:

Код: Выделить всё

Code Item name                      QTY Unit Price Total Price
---- ------------------------------ --- ---------- -----------
CM01 Computer Monitor                 2     114.98      229.96
Не обращая внимания на вышеизложенное, я не уверен, как работает форматирование строк. Если для кода это %4s, не означает ли это, что его следует отформатировать справа от четырех? Так почему же он начинается с 1 и заканчивается четырьмя? А потом -30, я вообще этого не понимаю.
В целом я понимаю, что делает каждый из них, но, думаю, сложить их вместе - нет.

Подробнее здесь: https://stackoverflow.com/questions/747 ... that-it-is

Вернуться в «JAVA»