Я пытаюсь напечатать следующий вывод на экране.Синтаксис Java String.format()
#
##
###
####
#####
######
Это мой код,
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = Integer.parseInt(sc.nextLine());
for(int i= 1; i <= num; i++){
String spc = String.format("%" + (num - i) + "s", " ");
String hash = String.format("%" + i + "#", "#");
System.out.println(spc+hash);
}
}
Я получаю следующее сообщение об ошибке,
Exception in thread "main" java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = #
at java.util.Formatter$FormatSpecifier.failMismatch(Formatter.java:4298)
at java.util.Formatter$FormatSpecifier.printString(Formatter.java:2882)
at java.util.Formatter$FormatSpecifier.print(Formatter.java:2763)
at java.util.Formatter.format(Formatter.java:2520)
at java.util.Formatter.format(Formatter.java:2455)
at java.lang.String.format(String.java:2940)
at Solution.main(Solution.java:13)
Я понимаю, мой string.Format не был сделан правильно, но документы путают при печати символа #
Любая помощь оценена.
Я запутался с документацией, вы можете немного объяснить свой ответ и что означает '%' и 's'. – Zeus
''% '' является специальным символом для форматирования. '' s'' для ** String ** – mmuzahid