Пробовала выводить в консоль - все верно, но валидатор не пускает
package com.javarush.task.task18.task1823;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import java.util.List;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws IOException{
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true){
String s = reader.readLine();
if (s.equals(null) || s.equals("exit")){
break;
}
ReadThread readThread = new ReadThread(s);
readThread.start();
}
}
public static class ReadThread extends Thread {
private String fileName;
public ReadThread(String fileName){
this.fileName = fileName;
}
public void run(){
List<Integer> list = new ArrayList<>();
Map<Integer, Integer> map = new HashMap<>();
try(FileInputStream fileInputStream = new FileInputStream(fileName)) {
while (fileInputStream.available() > 0){
list.add(fileInputStream.read());
}
for (int i = 0; i < list.size() - 1; i++){
int count = 1;
for (int j = 0; j < i; j++) {
if (list.get(i).equals(list.get(j))){
count++;
}
map.put(list.get(i), count);
}
}
int max = 0;
for (Map.Entry<Integer, Integer> m: map.entrySet()){
if (m.getValue() > max){
max = m.getValue();
}
}
for (Map.Entry<Integer, Integer> m: map.entrySet()){
if (m.getValue() == max){
resultMap.put(fileName, m.getKey());
}
}
} catch (IOException e){
e.printStackTrace();
}
}
}
}