В IDEA всё работает корректно - получаем минимальный байт(из всех возможных) с максимальным количеством повторов, что соответствует условиям задачи,
что не нравится валидатору?
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.TreeMap;
import java.io.FileNotFoundException;
/*
Нити и байты ->
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static Map<Byte, Integer> resultMap1 = new TreeMap<>();
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String fileName = "";
while (!(fileName = br.readLine()).equals("exit")) {
ReadThread rt = new ReadThread(fileName);
rt.start();
}
br.close();
}
public static class ReadThread extends Thread {
private String fileName;
public ReadThread(String fileName) throws FileNotFoundException {
//implement constructor body
this.fileName = fileName;
}
@Override
public void run() {
try {
FileInputStream inputStream = null;
inputStream = new FileInputStream(fileName);
byte[] buffer = new byte[inputStream.available()];
while (inputStream.available() > 0) {
inputStream.read(buffer);
}
inputStream.close();
for (int i = 0; i < buffer.length; i++) {
Integer repeat = resultMap1.get(buffer[i]);
resultMap1.put(buffer[i], repeat == null ? 1 : repeat + 1);
}
Byte maxRepeatKey = null;
for (byte key : resultMap1.keySet()) {
if (maxRepeatKey == null || resultMap1.get(key) > resultMap1.get(maxRepeatKey)) {
maxRepeatKey = key;
}
}
int repeat;
repeat = maxRepeatKey;
resultMap.put(fileName, repeat);
} catch (IOException e) {
e.printStackTrace();
}
// implement file reading here - реализуйте чтение из файла тут
}
}
}