Я знаю, что могу сделать это следующим образом:
String s = "Hello";
int maxLength = 10;
System.out.print(getSpaces((maxLength - s.length()) / 2) + s + getSpaces((maxLength - s.length()) / 2));
Но мне нужно сделать это простым способом. Согласно этой странице: Printf для Java Спецификация 3.0 (раздел 9. флаги):
Я могу центрировать текст, используя ^
в качестве флага с printf()
, например:
String s = "Hello";
int maxLength = 10;
System.out.printf("%^" + maxLength + "s", s);
Но я получил эту ошибку:
Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = '^'
Как правильно использовать флаг ^
с printf()
?