我希望输出显示如下。
ID Name Club Goals
1234 Christiano Ronaldo Real Madrid 42
321 Rooney United 32
23122 Angel Di Maria United 45
这是我到目前为止所尝试过的,但它不起作用:
for (Player p : players)
{
System.out.println(p.getID() + "\t" + p.getName() + "\t"
+ p.getClub() + "\t" + p.getGoals());
total ++;
}
由于\t
像tab一样,俱乐部下的数据总是变得混乱。
我将所有数据都放在ArrayList
中。
答案 0 :(得分:4)
您需要使用System.out.format。
你可以像这样控制字段的长度:
System.out.format("%32s%10d%16s", string1, int1, string2);
将string1,int1和string2分别填充为32,10和16个字符。
有关语法的更多信息,请参阅Javadocs以获取java.util.Formatter(System.out.format在内部使用Formatter)。
此外,FYI,尝试覆盖Player类的ToString()方法,并定义您希望此类如何表示自己。这样就不必拥有重复的代码,您只需说:
p.ToString()
它将打印出它的内容(身份证,姓名,俱乐部,目标)。