Задачу тестировал все работает Но. что то не так!!!!
package com.javarush.task.task19.task1920;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
/*
Самый богатый
*/
public class Solution {
public static void main(String[] args) {
BufferedReader fileReader = null;
try{
fileReader = new BufferedReader(new FileReader(args[0]));
} catch (FileNotFoundException e){
e.printStackTrace();
}
StringBuilder stBuilderFromFile = new StringBuilder();
try{
while (fileReader.ready()){
stBuilderFromFile.append(fileReader.readLine()+" ");
}
} catch (IOException e){
e.printStackTrace();
}
String[] stringsWithoutSpace = stBuilderFromFile.toString().split(" ");
Map<String,BigDecimal> mapList = new TreeMap<>();
for (int i = 1; i < stringsWithoutSpace.length; i++){
if (mapList.containsKey(stringsWithoutSpace[i-1])){
Iterator<Map.Entry<String,BigDecimal>> iterator = mapList.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String,BigDecimal> next = iterator.next();
if (next.getKey().equals(stringsWithoutSpace[i-1])){
mapList.put(stringsWithoutSpace[i-1],next.getValue().add(new BigDecimal(stringsWithoutSpace[i])));
}
}
} else {
mapList.put(stringsWithoutSpace[i-1],new BigDecimal(stringsWithoutSpace[i]));
}
i++;
}
String name = "";
double money = Double.MIN_VALUE;
Iterator<Map.Entry<String,BigDecimal>> iterator = mapList.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String,BigDecimal> nextCycle = iterator.next();
double next = nextCycle.getValue().doubleValue();
if (money < next) {
name = nextCycle.getKey();
money = next;
}
}
System.out.println(name);
try{
fileReader.close();
} catch (IOException e){
e.printStackTrace();
}
}
}