2013-10-27 47 views
-6

我是Java初學者。所以請在回答此問題時記住這一點。 我有一個Java的基本知識,但沒有線索如何開始呢?閱讀JAVA文本文件並獲得每個ID的總和

(我知道這是不是一個普遍的問題,但我不能換我解決此頭)

我有這樣

ID AMOUNT 

001 20.20 
002 10.20 
003 11.10 
003 15.20 
002 10.56 
001 42.52 
001 45.00 
004 94.36 
005 86.25 
005 45.36 
004 12.66 
006 45.36 
006 123.32 
002 125.22 
001 85.22 

我需要生成一個出來放一個文本文件總價值文件對於每個ID

實施例 -

001 192.94 
002 145.98...... 

我能夠通過線u到讀出線唱JAVA掃描儀和while循環..

請給我一個簡單的代碼來做到這一點...

+0

有一個函數'sum()'它會給你想要的輸出。 – 2013-10-27 14:29:34

回答

2

我能夠通過線

讀線然後

  1. 創建Map<Integer, Double>,將舉行你的價值觀
  2. 讀一行一行然後用String.split拆分您的字符串通過空格得到id和金額
  3. 解析id爲Integer,金額爲Double
  4. 在地圖上搜索該ID。如果它已經存在獲得的金額到指定的id和新的量添加到它
  5. 否則添加新條目,將有新的ID和金額
1

會給你一個提示,使用的InputStream從文本文件中讀取,把ID在地圖鍵,和值在重新獲得相同的鍵時,檢索舊值,重新添加新的值並重新放入地圖。

現在,你應該能夠弄清楚,因爲你說你有基本的Java知識。

1

1)用掃描儀讀取文件。

2)拆分使用String.split

3)使用一個數據結構像一個HashMap存儲鍵,值對的行。 這個關鍵看起來很獨特。如果是,請添加下一個可用值。

HashMap

注意:您可以期望得到你的問題最好的指引,但沒有人會爲你「寫」代碼!