2010-07-14 82 views
2

我的輸入文件將看起來像這樣怎樣用java程序具有最大價值的每個字

 
போதும் 1 
போதும் 2 
போதும் 3 
போதும் 4 
போதும் 5 
போதும் 6 
போதும் 7 
போதும் 8 
போதும் 9 
போதும் 10 
போதும் 11 
போட்டால் 1 
போட்டால் 2 
பொன் 1 
பொன் 2 
பொன் 3 
பொன் 4 
பொன் 5 

和我的輸出要像

 
போதும் 11 
போட்டால் 2 
பொன் 5 

如何選擇每個單詞使用java程序的最大值。請告訴我任何想法。提前致謝。沿着這些線路

+0

我不是java程序員,但有沒有在java中獨特?如果有它應該工作。 – 2010-07-14 11:48:17

+0

這是功課嗎?有一個「家庭作業」標籤用於此目的。 – 2010-07-14 11:56:59

+1

哇,我以爲'showmetehcode'標籤已經悄然死亡。 – BoltClock 2010-07-14 12:45:04

回答

11

東西:

  • 創建HashMap<String, Integer>
  • 對於您輸入的每一行:
    • 拆分成單詞和數字,並解析數部分(馬修評論下面,使用Scanner可以幫助這部分)
    • 看看有沒有在你的地圖上的那個詞
      • 如果沒有,用map.put(word, value)
      • 如果有,比較新的一個當前值,如果新的替換當前值更高
  • 當你」已閱讀文件中的所有內容,您的地圖將包含(單詞/最大值)對。你可以迭代地圖的條目來獲取你需要的一切。
+0

該示例僅顯示有序數據集,因此在這種特殊情況下,如果存儲值大於實際值,我們甚至可以跳過測試。它將永遠更大。 – 2010-07-14 11:52:50

+2

[Scanner.next](http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/java/util/Scanner.html#next%28%29),[hasNext ](http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/java/util/Scanner.html#hasNext%28%29)和[nextInt](http: //download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/java/util/Scanner.html#nextInt%28%29)便於解析。 – 2010-07-14 11:54:33

+0

@Andreas_D:是的,但我認爲最好不要依賴於此。 – 2010-07-14 12:16:29