Сижу уже около двух часов над решением. Вроде все работает. Помогите осознать где моя ошибка.
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
public class Solution {
public static int co;
public static ArrayList<Integer> countNumberArr = new ArrayList<>();
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
FileInputStream fileReader = new FileInputStream(reader.readLine());
HashMap<Integer, Integer> keyAndValue = new HashMap<>();
ArrayList<Integer> list = new ArrayList<>();
while (fileReader.available() > 0) {
int date = fileReader.read();
list.add(date);
}
fileReader.close();
for (int i = 0; i < list.size(); i++) {
int count = 0;
for (int j = list.size() - 1; j >= 0; j--) {
if (list.get(i) == list.get(j)) {
count++;
}
}
keyAndValue.put(list.get(i), count);
}
for (HashMap.Entry<Integer, Integer> map : keyAndValue.entrySet()) {
getCount(keyAndValue, map.getValue());
break;
}
for (int i = 0; i < countNumberArr.size(); i++) {
System.out.print(countNumberArr.get(i) + " ");
}
}
public static ArrayList<Integer> getCount(HashMap<Integer, Integer> map, int number) {
for (HashMap.Entry<Integer, Integer> mapMaxNumber : map.entrySet()) {
if (mapMaxNumber.getValue() > number) {
co = mapMaxNumber.getValue();
}
}
for (HashMap.Entry<Integer, Integer> mapMaxNumber : map.entrySet()) {
if (mapMaxNumber.getValue() == co) {
countNumberArr.add(mapMaxNumber.getKey());
}
}
return countNumberArr;
}
}