麻烦使用printf%f%n和double,然后添加一个字符串?

0 java printf

我正在努力使它显示一个数字列表,其中包含6个专用字符和两个2位小数,后跟一个"|".

for (int c = 1; c < Config.MAX_VALUE; c++)
        System.out.printf("%6.2f %n",(double)c + "|");
Run Code Online (Sandbox Code Playgroud)

我在添加"|"时遇到问题 并得到错误

"线程中的异常"主"java.util.IllegalFormatConversionException:f!= java.lang.String"

我该如何正确格式化?

Lou*_*man 5

|字符移动到格式字符串,而不是格式参数.它看起来像你想要的

 System.out.printf("%6.2f| %n",(double)c);
Run Code Online (Sandbox Code Playgroud)

%f只知道如何格式化数字类型,然后将它String从转换c为a double,然后转换为a ,String然后添加|到结尾.这给你一个String,%f不知道如何格式化.