В конце концов переписал этот код и сдал задачу, но так и не понял, где в этом решении ошибка?
public class Solution {
public static void main(String[] args) throws IOException {
FileReader fileReader = new FileReader(args[0]);
// FileReader fileReader = new FileReader("F:\\1.txt");
char[] input= new char[256];
StringBuffer stringBuffer = new StringBuffer();
while (fileReader.ready()) {
int s = fileReader.read(input);
for (int i = 0; i < input.length; i++) {
if (input[i] != 0) {
stringBuffer.append(input[i]);
}
}
}
String[] sum = stringBuffer.toString().split("\r\n");
fileReader.close();
Map<String, Double> map = new TreeMap<>();
for (String s :
sum) {
String[] list = s.split(" ");
double x = Double.parseDouble(list[1]);
if (map.containsKey(list[0])) {
map.merge(list[0], x, (a, b) -> a + b);
} else {
map.put(list[0], x);
}
}
for (Map.Entry<String, Double> me :
map.entrySet()) {
System.out.println(me.getKey() + " " + me.getValue());
}
}
}