2012-12-05 105 views
0

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

這將爲每個俱樂部對象提供理貨價值 - 但如何對這些結果進行排序,以及如何將最高級別與俱樂部關聯起來,實在令人不安。

+1

請張貼的所有代碼,包括你所描述的方法 - 不只是在類/變量聲明,你也 – amphibient

+0

記住uinitialized所有類變量是'空在Java中。這可能對'String'很好,但對列表可能會造成混淆。 – Dims

+0

當前試圖在聯盟班級寫一個方法來打印'聯盟表',請發佈你正在編寫的「那個」方法,以及你面臨的任何問題 –

回答

0

要打印聯賽表格,您需要對俱樂部陣列進行排序,然後遍歷每個項目並打印俱樂部名稱。

排序俱樂部陣列嘗試使用Collections.sort http://docs.oracle.com/javase/1.4.2/docs/api/java/util/Collections.html

..這是假設你還沒有被告知要實現自己的算法

此外,多個分類需要得到高層團隊和最佳射手,那麼你將需要從排序列表中選擇最上面的項目。

希望幫助...

+0

似乎這是我需要的 - 但是如果我在Club數組上使用了Collections.sort,我需要使用一個Comparator來確保它按正確的值進行排序(即在俱樂部類中返回getTally方法的結果) - 這引出了一個問題:「我該怎麼做! ? – Cohagen

+0

您的分會需要實施可比較並重寫compareto方法來做到這一點。閱讀其中的所有文檔:)。閱讀這個http://www.javapractices.com/topic/TopicAction.do?Id=10 – cowls

0

您更好地使用Set,而不是ArrayList。這裏是一個良好的開端,你的問題:

void printLeagueTable(){ 

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

} 
+0

這當然有幫助,謝謝。雖然我不確定爲什麼要使用Set來代替? – Cohagen

+0

在StackOverflow中,而不是說'謝謝你'** ** Vote-Up ** http://stackoverflow.com/privileges/vote-up但是當然你需要有這個特權。 – 2012-12-05 17:52:07