跟踪Java中的分数

时间:2012-12-05 17:35:04

标签: java

我是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();
    }
}

这将为每个俱乐部对象提供计数值 - 但如何对这些结果进行排序,以及如何将最高级别与一个俱乐部相关联是真正令人不安的。

2 个答案:

答案 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() );  
    }

}