вывод соответствует задаче, но что-то не нравится валидатору
package com.javarush.task.task19.task1919;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/*
Считаем зарплаты
*/
public class Solution {
public static void main(String[] args) {
String fileName = args[0];
ArrayList<String> stringsFromFile = fromFile(fileName);
TreeMap<String, Double> sortedResult = new TreeMap<>(listParser(stringsFromFile));
for (Map.Entry<String, Double> entry : sortedResult.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
public static ArrayList<String> fromFile(String fileName) {
ArrayList<String> listOfStrings = new ArrayList<>();
try (BufferedReader fileReader = new BufferedReader(new FileReader(fileName))) {
while (fileReader.ready()) {
listOfStrings.add(fileReader.readLine());
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return listOfStrings;
}
public static Map<String, Double> listParser(ArrayList<String> stringArrayList) {
Map<String, Double> result = new HashMap<>();
for (int i = 0; i < stringArrayList.size() - 1; i++) {
String sirName = stringArrayList.get(i).split(" ")[0];
double value = Double.parseDouble(stringArrayList.get(i).split(" ")[1]);
for (int j = i + 1; j < stringArrayList.size(); j++) {
if (stringArrayList.get(j).startsWith(sirName)) {
value = value + Double.parseDouble(stringArrayList.get(j).split(" ")[1]);
}
}
if (!result.containsKey(sirName))
result.put(sirName, value);
}
return result;
}
}