Второй день сижу над задачей. Перепробовал разные варианты. Дебажил вдоль и поперек - насколько умею конечно :)
В Идее код работает как надо и выводит верные значения через пробел (пробовал с несколькими файлами).
Не пойму в чем проблема.
Прошу подсказки.
package com.javarush.task.task18.task1803;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.util.*;
/*
Самые частые байты
*/
public class Solution {
public static void main(String[] args) throws Exception {
ArrayList<Integer> list = new ArrayList<>();
HashMap<Integer, Integer> map = new HashMap<>();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
String text = bufferedReader.readLine();
FileInputStream fileInputStream = new FileInputStream(text);
while (fileInputStream.available() > 0) {
int data = fileInputStream.read();
list.add(data);
}
Collections.sort(list);
int count = 1;
int maxRepeat = 0;
for (int i = 1; i < list.size(); i++) {
if (list.get(i) == ((list.get(i - 1)))) {
++count;
}
if (!(list.get(i) == ((list.get(i - 1))))) {
map.put(list.get(i - 1), count);
if (maxRepeat < count) {
map.put(list.get(i - 1), count);
maxRepeat = count;
}
count = 1;
}
}
for (Map.Entry<Integer, Integer> pair : map.entrySet()) {
if (pair.getValue() == maxRepeat) {
System.out.print(pair.getKey() + " ");
}
}
fileInputStream.close();
}
}