Не могу понять, в чем проблема? Почему не закрывается FileReader? Пробовал вручную добавлять ключ и значение из примера в условии задачи (без действий сложения при повторении фамилии). Вывод был корректным.
package com.javarush.task.task19.task1919;
/*
Считаем зарплаты
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws IOException {
TreeMap<String, Double> hm = new TreeMap<>();
FileReader fr = new FileReader(args[0]);
BufferedReader br = new BufferedReader(fr);
while (br.readLine() != null) {
String[] str = br.readLine().split(" ");
if (hm.containsKey(str[0])) {
hm.put(str[0], hm.get(str[1]) + Double.parseDouble(str[1]));
} else {
hm.put(str[0], Double.parseDouble(str[1]));
}
}
fr.close();
br.close();
Iterator<Map.Entry<String, Double>> iterator = hm.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Double> pair = iterator.next();
String key = pair.getKey();
Double value = pair.getValue();
System.out.println(key + " " + value);
}
}
}