/*
Задача
Читайте с консоли имена файлов, пока не будет введено слово «exit«.
Передайте имя файла в нить ReadThread.
Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap,
где параметр String — это имя файла, параметр Integer — это искомый байт.
Закрыть потоки.
*/
public class Solution {
public static Map<String, Integer> resultMap = new HashMap<String, Integer>();
public static void main(String[] args) throws InterruptedException, IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
String name = reader.readLine();
if (name.equals("exit"))
break;
ReadThread thread = new ReadThread(name);
thread.start();
}
}
public static class ReadThread extends Thread {
public ReadThread(String fileName){
super(fileName);
}
//implement constructor body
}
public void run() {
try {
FileInputStream in = new FileInputStream(getName()); // getName() везде красный
ArrayList<Integer> list = new ArrayList<Integer>();
HashMap<Integer, Integer> map = new HashMap<Integer, Integer>();
while (in.available()>0){
list.add(in.read());
}
for (int i = 0;i<list.size();i++) {
int d = Collections.frequency(list,list.get(i));
map.put(d,list.get(i));
}
TreeMap<Integer, Integer> maps = new TreeMap<Integer,Integer>(map);
List keyList = new ArrayList(maps.keySet()); // тут я просто не знаю как найти последний элемент в мапе сделал через лист
resultMap.put(getName(), keyList.get(keyList.size()-1));
}
catch (IOException e){
}
}
}
Сделал такую реализацию пока не знаю правильно или нет. Загвоздка заключается в том что при написании getName() в методе run он загорается красным (собственно вообще при начале написания get из возможных вариантов idea выдает только getClass() типа что то блокирует вообще любую реализацию get если я создаю новый класс делаю там нить то с getName() все нормально) типа такого метода нет хотя он должен возвращать имя данной нити подскажите пожалуйста в чем ошибка ну и по коду если есть какие то косяки заранее благодарен.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть таблица product (id, name)Есть таблица product_option (id, product_id, option_id) У продукта могут быть несколько опций, а может и не быть вообще
Пару дней назад решил начать осваивать Java (До этого работал на Си)В консоли все работает отлично, решил перейти на IDEA
Необходимо при помощи расширения chrome удалить некоторые элементы с сайта
Как сделать так, чтобы при наведении курсора на div1, вместо него открывался div2?