public class Solution {
public static void main(String[] args) {
System.out.println(String.format(getFormattedString(), "JavaRush", "курс", "мне", "нравится"));
//должен быть вывод
//"МНЕ нравится курс JavaRush"
}
public static String getFormattedString() {
return "%3$2S %4$2s %2$2s %1$2s";
}
}Ivan Zelenkov
28 уровень
Чем в данном случае после знака $ -> 2S или 2s является и что значит $. 3 4 2 1 я понял это порядок вывода слов. Помогите с остальным пожалуйста
Решен
Комментарии (7)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Roman OrlovJava Developer в МТС-Банк
20 мая 2021, 03:07
Регистр строки, "мне" поднимается в верхний регистр, когда идёт return "..$..S"
+2
Ivan Zelenkov
20 мая 2021, 17:24
Хорошо, понял. А что значит именно 2 перед S
0
Flexo Bending Unit #3370318
20 мая 2021, 17:46
ширина выводимой строки, или т.н. паддинг, в выражении количества символов
если строка аргумента занимает меньше символов, чем указано, незаполненные места заполняются пробелами слева от строки аргумента
можно указать отрицательный паддинг - пробелы будут добавляться справа
+2
Ivan Zelenkov
20 мая 2021, 17:48
то есть 2 это если в строковом элементе меньше двух знаков, недостающее слева заполняется пробелами? Верно? Можно пример, пожалуйста.
0
Flexo Bending Unit #3370318
20 мая 2021, 17:52
например, хочу отформатировать вывод времени
заменяю пробелы "ведущими нулями"
вывод получается такой:
+2
Ivan Zelenkov
20 мая 2021, 18:01
ок, то есть 2d здесь это значит нужно, чтобы было 2 цифры, не так ли? И при выводе 1:00:02 там где были пробелы, они заполнятся нулями? Но с моим примером выше 2S это что?
0
Flexo Bending Unit #3370318
20 мая 2021, 18:05решение
это просто другой тип аргумента
d - это вещественное число
s - это строка
S - строка в верхнем регистре
f - число с плавающей точкой
и много других
formatter
+2