Устал воевать с валидатором. Почему он не принимает решение?
Результат выходит верным.
Поток чтения закрыт.
Что нужно исправить?
package com.javarush.task.task19.task1920;
/*
Самый богатый
*/
import java.io.*;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
Pattern pattern = Pattern.compile("[a-zA-Z_а-яА-Я]+");
Double maxValue = 0.0;
Map<String, Double> map = new TreeMap<>();
String str;
while ((str = bufferedReader.readLine())!=null){
Matcher matcher = pattern.matcher(str);
matcher.find();
String name = str.substring(0, matcher.end());
Double value = Double.parseDouble(str.substring(matcher.end(), str.length()).trim());
if (map.containsKey(name)){
Double oldValue = map.get(name);
double resultValue = oldValue + value;
if (resultValue > maxValue){
maxValue = resultValue;
}
map.put(name, resultValue);
} else {
map.put(name, value);
if (value > maxValue){
maxValue = value;
}
}
}
bufferedReader.close();
Iterator<Map.Entry<String, Double>> iterator = map.entrySet().iterator();
while(iterator.hasNext()){
Map.Entry<String, Double> pair = iterator.next();
if(pair.getValue().equals(maxValue)){
System.out.println(pair.getKey());
}
}
}
}