Я считаю что задача решена, но валидатор считает что я не запустил thread и не нашел то что нужно. почему он так считает
package com.javarush.task.task18.task1823;
import java.awt.*;
import java.io.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
/*
Нити и байты
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws InterruptedException {
ArrayList <ReadThread> listik = new ArrayList<>();
BufferedReader bred = new BufferedReader(new InputStreamReader(System.in));
try {
String fileName = "";
while (true) {
fileName = bred.readLine();
if (fileName.equals("exit")) break;
ReadThread trr = new ReadThread(fileName);
listik.add(trr);
trr.run();
}
} catch (IOException e) {
e.printStackTrace();
}
// for (ReadThread rt : listik){
// rt.join();
// }
// System.out.println(resultMap);
}
public static class ReadThread extends Thread {
FileInputStream fis;
public ReadThread(String fileName) {
//implement constructor body
super(fileName);
try {
fis = new FileInputStream(fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// this.run();
}
@Override
public void run() {
int [] arrcount = new int[256];
for (int i = 0; i < arrcount.length; i++) {
arrcount[i] = 0;
}
try {
while (fis.available() > 0) {
int by = fis.read();
arrcount[by]++;
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
}
int maxi = -1; //максимальный по встречаемости байт
for (int i = 0; i < arrcount.length; i++) {
if (arrcount[i] > maxi) maxi = i;
}
resultMap.put(this.getName(), maxi);
}
// implement file reading here - реализуйте чтение из файла тут
}
}