我想在java中创建一个带有前缀Size的字符串
String x = "PIPPO "; //21 character
如何获取前缀大小的字符串,另一个字符是空格?
我已经构建了这段代码,但是我有一个错误
String ragioneSociale =String.format("%21c%n", myString);
答案 0 :(得分:3)
你可以正确填充你的字符串吗?
String x = "PIPPO";
String xRightPadded = String.format("%1$-21s", x);
可在此处找到更多信息:How can I pad a String in Java?
答案 1 :(得分:1)
你得到的消息是
线程中的异常" main" java.util.IllegalFormatConversionException:c!= java.lang.String
因为" c"是字符的格式规范。
你必须使用" s"因为你想要一个字符串:
String ragioneSociale =String.format("%-21s%n", myString);
因为你想让它保持对齐,你必须添加一个减号。
有关更多信息,请参阅Formatter的documentation。
答案 2 :(得分:1)
下面:
String ragioneSociale =String.format("%21c%n", myString);
c
是错误的格式说明符。您想:s
代替。来自javadoc:
's','S'general如果参数arg为null,则结果为“null”。如果arg实现了Formattable,则调用arg.formatTo。否则,通过调用arg.toString()获得结果。
'c','C'字符结果是Unicode字符
由于您提供的参数是字符串,因此字符c
无法正常工作。
与空间对齐;转而使用“%1 $ -21s”作为格式。