Я пытался передать строковый объект в System.out.printf (...) в Java, но продолжал получать эту ошибку "java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0"
, которая на самом деле не имеет большого смысла для меня.
String format = "%" + (3 * n) + "s"; // n is an int defined somewhere above, could be 0
System.out.printf(format, "My string");
Кто-нибудь знает, разрешено ли это?
Изменить для более подробной информации:
int n = 0;
String fm = "%" + (3 * level) + "s";
String realFm = "%0s";
System.out.println("fm = " + fm);
System.out.println("realfm = " + realFm);
System.out.println("equals? " + (fm.equals(realFm)));
System.out.printf(fm, " ");
Вот вывод:
fm = %0s
realfm = %0s
equals? true
java.util.FormatFlagsConversionMismatchException: Conversion = s, Flags = 0
Спасибо