0

私は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;

}

現在、「リーグテーブル」を印刷するリーグクラスのメソッドを作成しようとしています。つまり、ポイント集計でソートされたクラブのリスト (クラブクラスで変数として保持されます) で、空白を描いています。

これに加えて、トップ スコアラー (ゴールデン ブーツ) を見つけ、リーグのトップ チームを見つけるための 2 つのメソッドを記述する必要があります。再び私は空白を描いています。おそらく私は物事を過度に複雑にしていますか?

提案/サンプルメソッドに非常に感謝します

編集:

さて、私が書こうとしているメソッドは、次で始まるものです。

public void getLeagueTable() {
    for(Club c : clubs) {
        c.getTally();
    }
}

これにより、各 Club オブジェクトの集計値が得られますが、これらの結果を並べ替える方法と、最高のものを 1 つの Club に関連付ける方法が本当に厄介です。

4

2 に答える 2

0

リーグ テーブルを印刷するには、クラブ配列を並べ替えてから、各項目をループしてクラブ名を印刷する必要があります。

クラブ配列をソートするには、 Collections.sort http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.htmlを使用してみてください

..それは、独自のアルゴリズムを実装するように言われていないことを前提としています

繰り返しになりますが、トップ チームとトップ スコアラーを取得するにはさらにソートが必要です。次に、ソートされたリストからトップ アイテムを選択する必要があります。

それが役立つことを願っています...

于 2012-12-05T17:43:07.107 に答える
0

Setよりも使用した方がよいでしょうArrayList。そして、これがあなたの質問の良いスタートです:

void printLeagueTable(){

    i = 0 ;
    while( i != clubs.size() ){
         Club club = clubs.get(i);
         System.out.println("club: "+i+ "points: " club.points() );  
    }

}
于 2012-12-05T17:45:25.463 に答える