Протестировал на нескольких файлах, и с одинаковым значением разные имена и тестовое задание - все выводит соответсвенно заданию.
Подскажите где ошибка или файл, который не пройдет.
package com.javarush.task.task19.task1919;
/*
Считаем зарплаты
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException {
//String s = "/home/alex/Documents/filesForJava/1.pdb";
BufferedReader reader = new BufferedReader(new FileReader(args[0]));
Map<String, Double> map = new HashMap<>();
while (reader.ready()){
String[] info = reader.readLine().split(" ");
if(map.containsKey(info[0])){
double d = map.get(info[0]);
map.remove(info[0]);
map.put(info[0], d + Double.parseDouble(info[1]));
}else{
map.put(info[0], Double.parseDouble(info[1]));
}
}
LinkedList<Double> list = new LinkedList<>();
for (Map.Entry<String, Double> pair : map.entrySet()){
list.add(pair.getValue());
}
int count = 1;
while (count!=0) {
count = 0;
for (int i = 0; i < list.size() - 1; i++) {
double d = list.get(i);
double d1 = list.get(i+1);
if(d>d1){
list.remove(i+1);
list.add(i,d1);
count++;
}
}
}
for (double d : list) {
Iterator<Map.Entry<String, Double>> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry<String, Double> pair = iterator.next();
if(pair.getValue() == d){
System.out.println(pair.getKey()+" "+pair.getValue());
iterator.remove();
}
}
}
reader.close();
}
}