Не понимать я.
Почему когда в .txt пишу дробное число у меня перед каждым именем ставится точка '.' - и ещё как поменять кодировку а то каждый раз знаки вопроса ????????
Если есть какие замечания буду рад выслушать, только не "Неправильно называешь переменные", да знаю я про это! :) ) ) )
package com.javarush.task.task19.task1919;
/*
Считаем зарплаты
*/
import java.io.BufferedReader;
import java.io.FileReader;
import java.util.ArrayList;
import java.util.Map;
import java.util.TreeMap;
public class Solution {
public static void main(String[] args) throws Exception {
TreeMap<String, Double> map = new TreeMap<String, Double>();
FileReader fileReader = new FileReader(args[0]);
BufferedReader reader = new BufferedReader(fileReader);
String number;
ArrayList<Double> numberList = new ArrayList<Double>();
String name;
ArrayList<String> nameList = new ArrayList<String>();
while ((name = reader.readLine()) != null) {
number = name;
number = number.replaceAll("[a-zA-Zа-яА-Я]*", "").replace(" ", "");
numberList.add(Double.parseDouble(number));
name = name.replaceAll("[0-9]", "").replace(" ", "").replace(".", "");
nameList.add(name);
}
fileReader.close();
reader.close();
for (int i = 0; i < nameList.size(); i++) {
String nameLast = nameList.get(i);
Double doubleLast = numberList.get(i);
if (map.containsKey(nameLast)) {
double count = map.get(nameLast) + doubleLast;
map.put(nameLast, count);
} else {
map.put(nameLast, doubleLast);
}
}
for (Map.Entry<String, Double> entry : map.entrySet()) {
System.out.println(entry.getKey() + " " + entry.getValue());
}
}
}