新手在这里,但我最终在我的智慧。我的程序全部正常工作,但在打印时只需要格式化帮助。
if(count == 3)
System.out.printf ("%-15s %15s %15s %15s %15s %n", n, " is compatible with
",dates[k],dates[k+1],dates[k+2]);
我的输出是
Stacey Francis is compatible with Owen Farrell Jack Clifford Joshua Watkins
我希望我的输出是(不重复斯泰西弗朗西斯名称或“兼容”:
Stacey Francis is compatible with Owen Farrell
Jack Clifford
Joshua Watkins
只是想知道如何解决这个问题?
谢谢,
科斯蒂
答案 0 :(得分:8)
是的,%n
是printf中的换行符。请参阅java.util.Formatter的文档,特别是指定的转换表:
'
n
'行分隔符结果是特定于平台的行分隔符
您的输出目前只有一个换行符,而不是您似乎想要它们的点。您需要使用以下格式:
"%-15s %15s %15s %n %15s %n %15s %n"
(可能还有一些标签用于对齐)。
答案 1 :(得分:3)
%n
应该有效。但问题是,您刚刚在格式字符串中使用它。您需要将其插入适当的位置: -
"%-15s %15s %15s %n %45s %n %45s"
您还可以在格式说明符之间使用"\n"
来打印换行符: -
System.out.printf ("%-15s %15s %15s \n %45s \n %45s",
n, " is compatible with ", dates[k],dates[k+1],dates[k+2]);
此外,我已将length
的最后两个名称的15
增加到45
,并将其格式设置在以前的名称下方。
答案 2 :(得分:0)
你可以尝试一下。
if(count == 3)
System.out.printf ("%-15s %15s %15s %15s %15s %n", n, " is compatible with
",dates[k],dates[k+1],dates[k+2]+"\n");