package com.javarush.task.task19.task1919;
/*
Считаем зарплаты
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
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 {
String filename = args[0];
FileReader fileReader = new FileReader(filename);
BufferedReader br = new BufferedReader(fileReader);
TreeMap<String, Double> bill = new TreeMap<>();
Matcher m = null;
while (br.ready()) {
String tmp = br.readLine();
m = Pattern.compile("([А-Яа-яA-za-z]+)\\s([0-9.]+)").matcher(tmp);
if (m.find()) {
if (bill.containsKey(m.group(1))){
bill.put(m.group(1), bill.get(m.group(1))+Double.parseDouble(m.group(2)));
}
else{
bill.put(m.group(1),Double.parseDouble(m.group(2)));
}
}
}
for (Map.Entry<String,Double> pare: bill.entrySet()) {
System.out.println(pare.getKey()+" "+pare.getValue());
}
br.close();
}
}
Выдает ошибку
Программа должна выводить в консоль каждое имя и сумму всех его значений, все данные должны быть отсортированы в возрастающем порядке по имени.
Но вывод идентичен условию...
Иванов 1.35
Петров 5.1
Сидоров 6.0
куда смотреть ?package com.javarush.task.task19.task1919;
/*
Считаем зарплаты
*/
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
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 {
String filename = args[0];
FileReader fileReader = new FileReader(filename);
BufferedReader br = new BufferedReader(fileReader);
TreeMap<String, Double> bill = new TreeMap<>();
Matcher m = null;
while (br.ready()) {
String tmp = br.readLine();
m = Pattern.compile("([А-Яа-яA-za-z]+)\\s([0-9.]+)").matcher(tmp);
if (m.find()) {
if (bill.containsKey(m.group(1))){
bill.put(m.group(1), bill.get(m.group(1))+Double.parseDouble(m.group(2)));
}
else{
bill.put(m.group(1),Double.parseDouble(m.group(2)));
}
}
}
for (Map.Entry<String,Double> pare: bill.entrySet()) {
System.out.println(pare.getKey()+" "+pare.getValue());
}
br.close();
}
}