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;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
TreeMap<String, Double> map = new TreeMap<>();
while (bufferedReader.ready()) {
String line[] = bufferedReader.readLine().split("\\s");
System.out.println(line[0]);
if(map.containsKey(line[0])) map.put(line[0],map.get(line[0]) + Double.parseDouble(line[1]));
else map.put(line[0], Double.parseDouble(line[1]));
}
bufferedReader.close();
System.out.println(map.size());
for (Map.Entry<String, Double> pair : map.entrySet())
System.out.print(pair.getKey() + " " + pair.getValue());
}
}
выдает следующую ошибку (не могу понять в чем причина, я так понимаю ругается на то что выхожу за массив) вот тут map.put(line[0], Double.parseDouble(line[1]));. Но как я могу выйти если я туда не захожу
Петров
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.javarush.task.task19.task1919.Solution.main(Solution.java:21)
Process finished with exit code 1
Чуть поменяла код , для наглядности.
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
TreeMap<String, Double> map = new TreeMap<>();
while (bufferedReader.ready()) {
String line1 = bufferedReader.readLine();
String[] line = line1.split(" ");
System.out.println(line1);
System.out.println(line[0] + " " + line[1]);
if(map.containsKey(line[0])) map.put(line[0],map.get(line[0]) + Double.parseDouble(line[1]));
else if(!map.containsKey(line[0])) map.put(line[0], Double.parseDouble(line[1]));
}
bufferedReader.close();
System.out.println(map.size());
for (Map.Entry<String, Double> pair : map.entrySet())
System.out.print(pair.getKey() + " " + pair.getValue());
}
}
ошибка та же
Петров 2
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
Петров 2
at com.javarush.task.task19.task1919.Solution.main(Solution.java:21)
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;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new FileReader(args[0]));
TreeMap<String, Double> map = new TreeMap<>();
while (bufferedReader.ready()) {
String line[] = bufferedReader.readLine().split("\\s");
System.out.println(line[0] + " " + line[1]);
if(map.containsKey(line[0])) map.put(line[0],map.get(line[0]) + Double.parseDouble(line[1]));
else map.put(line[0], Double.parseDouble(line[1]));
}
bufferedReader.close();
System.out.println(map.size());
for (Map.Entry<String, Double> pair : map.entrySet())
System.out.print(pair.getKey() + " " + pair.getValue());
}
}