Разработать консольное приложение на Java (Scala/Kotlin) для расчета статистики по тексту.
Приложение принимает в командной строке 3 имени файлов. Первый файл – текст для анализа. Второй файл – перечень шаблонов для расчета статистики. Третий файл – для вывода результата.
Шаблоны имеют следующий формат: а1б2в1 – означает, что слово должно одновременно содержать 1 букву «а», 2 буквы «б» и 1 букву «в»; "абр" – означает, что слово должно содержать последовательность символов в кавычках (например, «швабра»).
Приложение выводит таблицу с количеством подходящих слов по каждому шаблону.
Оценивается корректность работы приложения, производительность, оптимальность и качество кода и обработка ошибок. Допускается многопоточная реализация.
Пример входных данных и результата:
Текст (1й файл) | Шаблоны (2й файл) | Результат (3й файл) |
---|---|---|
Отец мой Андрей Петрович Гринев в молодости своей служил при графе Минихе и вышел в отставку премьер-майором в 17.. году. | о2 т1о1 "ми" ф2 11 "йо" й1о1 |
о2 2 т1о1 3 "ми" 0 ф2 0 11 1 "йо" 1 й1о1 3 |
Все публичные методы покрыты тестами, в resources расположены файлы для проверки работоспособности приложения.
Запустить приложение с параметрами командной строки:
src/main/resources/samples.txt src/main/resources/source.txt src/main/resources/result.txt
В файле src/main/resources/result.txt будут результаты выполнения программы.
Ожидаемый результат:
стол 6
о2 3
контр 2
11 2
14 1
тест 0
д1р1о1в1а1 1
ст 7
сс 1
с1с1 1
ъ 1