我是 Java 的新手,我束手无策。
我的程序可以运行,但打印时我需要格式方面的帮助。
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 的名字或“兼容”:
Stacey Francis is compatible with Owen Farrell
Jack Clifford
Joshua Watkins
只是想知道如何去做?
是的,
%n
是printf中的换行符。请参阅 java.util.Formatter 的文档,特别是指定的转换表:
'
'行分隔符结果是平台特定的行分隔符n
你的输出目前只有一个换行符在最后,而不是在你似乎想要它们的地方。您需要使用如下格式:
"%-15s %15s %15s %n %15s %n %15s %n"
(也许还有一些标签用于对齐)。
%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
,以便在前面的名字下方格式化它们。
你能试试这个吗
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");