Подскажите пожалуйста где ошибся?
в 24 строке?
И когда передаю файл Run -> Edit Configuration -> Programm arguments -> F://java.txt
который содержит
Петров 2
Сидоров 6
Иванов 1.35
Петров 3.1
Выкидывает ошибку на строке 20, выход за пределы массива...
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.javarush.task.task19.task1920.Solution.main(Solution.java:20)
После того как поставил try {} catch (ArrayIndexOutOfBoundsException e)
в TreeMap добавляется два раза по ключу Петров? оО это что за бред? Сложение по Double не происходит
package com.javarush.task.task19.task1920;
/*
Самый богатый
*/
import java.io.*;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
TreeMap<String, Double> treeMap = new TreeMap<>();
while (reader.ready()) {
String line = reader.readLine();
String[] mass = line.split(" ", 2);
try {Double d = Double.parseDouble(mass[1]);
treeMap.merge(mass[0], d, (aDouble, aDouble2) -> aDouble + aDouble2);
} catch (ArrayIndexOutOfBoundsException e) {
}
}
Double h = 0.0;
String lines = "";
for (Map.Entry entry : treeMap.entrySet()) {
String key = String.valueOf(entry.getKey());
Double value = (Double) entry.getValue();
if (value > h){
h = value;
lines = key;
}
}
System.out.println(lines);
reader.close();
}
}