Нити и байты

  • 10
  • Недоступна
Читайте с консоли имена файлов, пока не будет введено слово "exit". Передайте имя файла в нить ReadThread. Нить ReadThread должна найти байт, который встречается в файле максимальное число раз, и добавить его в словарь resultMap, где параметр String - это имя файла, параметр Integer - это искомый ба
Вы не можете решать эту задачу, т.к. не залогинены.
Комментарии (174)
  • популярные
  • новые
  • старые
Для того, чтобы оставить комментарий вы должны авторизоваться
Kotcher19 уровень, Москва
понедельник, 14:23
Сделал переменную fileName статической.Тупил,не мог понять,почему не проходит валидацию=) Решение отработало с массивом байтов
Тимур18 уровень
суббота, 15:10
жесткие задачи... много народу здесь похоже забило на учёбу.. ХМ - наше всё. в цикле при чтении считаем макс число, обходим итератором ХМ и получаем искомый байт, брейкаем цикл.
АртемGeek24 уровень, Москва
27 мая, 09:47
Сделал задание сначала через массив[256] , потом сделал через TreeMap - валидатор не принял не один вариант. Переделал через HashMap - прошло))
Serg19 уровень, Днепр
13 июня, 23:38
сделал через массив байтов на 256 элементов и прошло) но кода там пипец наворочено)
Oleg Zaytsev24 уровень
19 мая, 14:24
тут только с мапами что ли принимает? бред сидел решал час все перепроверял потом полез в ответы, прошел смотрю как работает программа так же как моя wut
Валерий25 уровень, Санкт-Петербург
12 мая, 21:23
Для тех, кто тестирует на своих файлах .txt с кириллицей Если делать максимально просто созданием массива байтов int[256], где индексы и есть байты, без всяких TreeMap, можно столкнуться с такой неприятностью: если в файле есть кириллица, которая может иметь отрицательные значения, прога будет бросаться исключениями ArrayIndexOutOfBoundsException, т.к. отрицательных индексов у массива быть не может. Сам минут 20 понять не мог, почему только что все работало, а когда поменял входные данные перестало. В этом случае все обернулось довольно специфичной проблемой и может кому то поможет выйти из затупа. P.S. Переделывать не стал - прога валидацию прошла (видимо на сервере подаются входные данные латиницей). Но теперь понимаю, почти наверняка лучше будет использовать что то типа TreeMap
Riccio28 уровень, Москва
5 мая, 09:49
В main'е достаточно одной строки:
new ReadThread(fileName).start();
fedor20 уровень, Москва
25 апреля, 08:15
не запускайте нити из конструктора ReadThread (вариант рабочий, но не принимается), запускайте из main() т.е. конструктор ReadThread должен полностью завершить работу до старта потока
skybright22 уровень
24 мая, 20:45
сэкономил мне кучу времени, спасибо.
Maksym19 уровень, Днепр
10 апреля, 18:02
семь попыток и 1,5 часа, Ява за что???(((
Александр22 уровень, Минск
2 апреля, 20:22
вся задача просто четенько построить конструкцию нитей, максимум находил через ArrayList
Торник22 уровень, Москва
31 марта, 23:16
Очень важно.Валидатору вообще пофиг,что может быть несколько байтов,которые имеют максимальное количество повторений!!!Не мучайтесь над доп условием.(На много проще делать задачку через ArrayList<Integer> и HM<Integer,Integer>),хотя чисто для развития логики можно и руками написать все.