Что я делаю не так? Казалось бы - считываю символ из файла и передаю его значение переменной key, затем проверяю содержит ли мапа такой кей и если да, то перезаписываю значение с инкрементированым value. Однако, где-то судя по всему есть ошибка. Валидатор ругается
package com.javarush.task.task18.task1821;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.TreeMap;
/*
Встречаемость символов
*/
public class Solution {
public static void main(String[] args) {
try (FileReader reader = new FileReader(args[0])) {
Map<Character, Integer> map = new TreeMap<>();
Integer value = 1;
Character key;
while (reader.ready()) {
key = (char) reader.read();
if (map.containsKey(key)) {
map.put(key, value++);
}
map.put(key, value);
}
for (Map.Entry<Character, Integer> entry : map.entrySet()) {
System.out.printf(String.format("%s %d\n"), entry.getKey(), entry.getValue());
}
}
catch (IOException e) {
}
}
}