1

私はこれに非常に行き詰まっています。助けてください。

サンプルデータ

Year  Rate
2002  1.0
2002  1.0
2002  1.1
2003  1.5
2003  5.4
2003  6.5
2004  9.5 
2004  12.5
2004  11.3

Javaプログラミング言語を使用して年ごとに要素を合計するにはどうすればよいですか? 元。2002 年からのすべてのレートを合計します。次に、2003 年からのすべてのレートを合計します...

最初に配列を特定の部分に分割する必要がありますか?

何も思いつきません。助けてください(答えではなく提案)。

4

2 に答える 2

2

データを分割 ( String.split ) し、一度に 2 つずつ反復処理して、結果をHashMapに入れます。

// Do the split, initialize a Map.
for( int i=0; i < splitResult.length; i+=2) {
    // Use your map
}
于 2012-10-23T06:42:38.243 に答える
1

(ツリー) マップは、タスクに適したデータ構造になる可能性があります。

Map<Integer, Integer> ratesPerYear = new TreeMap<Integer, Integer>();
for (/* each pair of values */) {
   Integer previousResult = ratesPerYear.get(/* year */);
   if (previousResult == null) {
      previousResult = 0;
   }
   ratesPerYear.put(/* year */, previousResult + /* rate */);
}

System.out.println("Total rates for 2003: " + ratesPerYear.get(2003));

コードは有効な Java ではありません。置き換えるコメントがいくつかあります ;)

于 2012-10-23T06:50:04.340 に答える