我是Java的新手,我正在编写一个代表'体育联盟'的作业计划(代表球员/俱乐部/比赛/联赛的球员)
我的主要问题是在联赛课上发生的。以下是相关变量,可以让您了解我如何存储内容:
public class League
{
private String leagueName;
private ArrayList<Club> clubs;
private ArrayList<Match> fixtures;
private ArrayList<String> results2;
private TreeMap<Match, String> results;
private String topTeam;
private String goldenBoot;
}
目前正试图在联盟课程中编写一个方法,该方法将打印一个“联赛表” - 即按其积分计算的俱乐部列表(在俱乐部班级中作为变量保存),我在其上留空。
除此之外,我需要写两种方法来找到最佳射手(金靴)并找到联盟中的顶级球队;我又画了一个空白。也许我过于复杂了?
非常感谢建议/样本方法
编辑:
好的,所以我试图编写的方法就是:
public void getLeagueTable() {
for(Club c : clubs) {
c.getTally();
}
}
这将为每个俱乐部对象提供计数值 - 但如何对这些结果进行排序,以及如何将最高级别与一个俱乐部相关联是真正令人不安的。
答案 0 :(得分:0)
要打印联赛表,您需要对俱乐部阵列进行排序,然后循环浏览每个项目并打印俱乐部名称。
要对俱乐部阵列进行排序,请尝试使用Collections.sort http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html
..假设你没有被告知要实现你自己的算法
同样,要获得顶级球队和最佳射手需要更多排序,那么您需要从排序列表中选择最顶级的项目。
希望有帮助...
答案 1 :(得分:0)
您最好使用Set
而不是ArrayList
。这是你的问题的良好开端:
void printLeagueTable(){
i = 0 ;
while( i != clubs.size() ){
Club club = clubs.get(i);
System.out.println("club: "+i+ "points: " club.points() );
}
}