Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.javarush.test.level19.lesson10.home01;
- /* Считаем зарплаты
- В метод main первым параметром приходит имя файла.
- В этом файле каждая строка имеет следующий вид:
- имя значение
- где [имя] - String, [значение] - double. [имя] и [значение] разделены пробелом
- Для каждого имени посчитать сумму всех его значений
- Все данные вывести в консоль, предварительно отсортировав в возрастающем порядке по имени
- Закрыть потоки. Не использовать try-with-resources
- Пример входного файла:
- Петров 2
- Сидоров 6
- Иванов 1.35
- Петров 3.1
- Пример вывода:
- Иванов 1.35
- Петров 5.1
- Сидоров 6.0
- */
- import java.io.*;
- import java.util.*;
- public class Solution {
- public static void main(String[] args){
- BufferedReader fileReader = null;
- try
- {
- fileReader = new BufferedReader(new FileReader(args[0]));
- String temp = "";
- ArrayList<String[]> fileString = new ArrayList<String[]>();
- HashSet<String> names = new HashSet<String>();
- String []tempValue=null;
- while ((temp=fileReader.readLine())!=null) {
- try
- {
- tempValue = temp.split(" ");
- if (tempValue[1]!=null) {
- names.add(tempValue[0]);
- fileString.add(tempValue);
- }
- }
- catch (Exception e) {}
- }
- fileReader.close();
- Map<String,Double> namesAndDoubles = new HashMap<String, Double>();
- for (String name : names) {
- double tempDouble = 0;
- for (String[]values : fileString) {
- if (name.equals(values[0])) {
- try
- {tempDouble=tempDouble+Double.parseDouble(values[1]);}
- catch (Exception e) {
- }
- }
- }
- namesAndDoubles.put(name,tempDouble);
- }
- TreeMap<String,Double> namesAndDoubles2 = new TreeMap<String, Double>(namesAndDoubles);
- namesAndDoubles=namesAndDoubles2;
- /*--------------------------------------------------------------------*/
- for (Map.Entry<String,Double> entry : namesAndDoubles.entrySet()) {
- System.out.println(entry.getKey()+" "+entry.getValue());
- }
- }//end of try
- catch (Exception e)
- {
- }
- if (fileReader!=null) {
- try
- {
- fileReader.close();
- }
- catch (IOException e) {}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement