2012-02-29 16 views
1

私はクラスのプログラムに取り組んでいます。 TreeMapを使用してID(String - Key)と収益額(double value)を格納します。私はスキャナを使ってテキストファイルから値をインポートしています。現時点で私の問題は、最後に読み取った値で上書きするのではなく、値を累積する必要があるということです。だから私の質問は、どのように計算を行うためにマップを使用するのですか?どんな助けもありがとう。計算のためにマップを使用するにはどうすればよいですか?

答えて

1

マップに新しい値を追加するときに、キーがすでに存在する場合は、関連する値を取得し、新しい値をマップに追加してマップに戻すことができます。例:

// Assuming that key and value were read from your file, and that 
// myMap is declared as "Map<String, Double>" 
if (myMap.containsKey (key)) { 
    double oldValue = myMap.get (key); 
    value += oldValue; 
} 

myMap.put (key, value); 
+0

彼は少なくとも.. ..それは彼の宿題です.. – Kashyap

+0

@thekashyapそれはあなたがこのコードが私のためにはうまくいきません。 2番目の行は、変数がdouble型だがキーは文字列なので、互換性のない型エラーを返す...私は本当に仕様書を読むのが簡単であることを望む。 –

+0

@StevetheMakerあなたはどのようにあなたの '地図'を宣言しましたか? – Laf

1

1)それはそれを読み、現在の読み値を追加存在する場合、同じキーを持つ値がマップ 2)に存在するかどうかを確認してください。マップに戻す

3

Mapには暗黙的な機能はありません。あなたの宿題の背後にあるアイデアは、Mapの挿入、検索、取得、および置換の方法を学ぶためのものです。これらのそれぞれのための機能があり、これを実現するためにすべてを使用する必要があります。