2011-08-31 125 views
-1

我想編寫一個簡單的控制檯程序,它接受一個字符串和整數作爲輸入,將它們輸入到一個數組中,按整數對它們進行排序,並相應地返回內容。我一直在爭取這個計劃很長一段時間,所以非常感謝幫助:)。如何添加一個字符串和int並按int排序

+5

也許向我們顯示您的代碼? – develerx

+0

請閱讀此:http://stackoverflow.com/questions/how-to-ask –

回答

4

方法是創建一個既包含信息的字符串又包含int部分的類。您可以爲每個int /字符串對創建一個實例。然後你可以把這些實例放入一個數組中。您可以使用Arrays.sort對數組進行排序。請注意,你的班級必須執行Comparable,正如鏈接的API文檔所述。

+0

謝謝,正要顯示我的代碼,但我想這一直幫助我:) –

+0

我會建議你學習如何首先使用Arrays.sort進行排序算法。我都是高水平的編程,但你必須有基本的感覺。 – Farmor

0

你應該寫一個int和String作爲字段的類,併爲這個類實現一個Comparator。將你的元素插入數組,然後使用Arrays.sort()對其進行排序。

0

我違背目前這裏。所有人都建議你使用Arrays.sort()我建議你不要。

這就是原因。當開始學習編程時,我發現它是一種有趣而且非常好的學習形式來實現你自己的算法,如果你已經實現了幾次自我排序,你將會對計算機科學有更深入的理解。所以,你自己的排序算法,當你跌倒那麼使用Arrays.sort()。

0

除非知道條目數,否則我不會使用數組作爲輸入。你可以使用ArrayList,所以你不需要知道。

class StringInt implement Comparable<StringInt> { 
    final String string; 
    final int num; 

    public StringInt(String string, int num) { 
     this.string = string; 
     this.num = num; 
    } 

    public int compareTo(StringInt si) { 
     return num > si.num ? +1 : num < si.num ? -1 : 0; 
    } 
} 

List<StringInt> list = new ArraysList<StringInt>(); 

// add element. 
list.add(new StringInt("Hello", 1)); 

// sort them 
Collections.sort(list); 
2

而不是陣列,使用TreeMap<Integer, String>。 TreeMap按照自然順序中的「鍵」排序。你所要做的就是迭代它。

由amit給出的解決方案也可以。

相關問題