我是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弗朗西斯name或“is compatible with”):
Stacey Francis is compatible with Owen Farrell
Jack Clifford
Joshua Watkins
只是想知道如何去做这件事?
3条答案
按热度按时间w7t8yxp51#
是的,
%n
在printf中是一个换行符。请参阅java.util.Formatter的文档,特别是转换表,其中指定:'
n
'行分隔符结果是特定于平台的行分隔符您的输出目前只有在末尾有一个换行符,而不是在您似乎想要它们的地方。您需要使用这样的格式:
(and也许一些标签扔在那里对齐)。
iq0todco2#
%n
应该可以工作。但问题是,您刚刚在格式字符串的末尾使用了它。您需要在适当的位置插入它:-您也可以在格式说明符之间使用
"\n"
来打印换行符:-另外,我将最后两个名字的
length
从15
增加到45
,将它们的格式设置在前面的名字下面。k97glaaz3#
请试试这个。