Содержание- Локали
- Локализация данных
- Создание ResourceBundle
- Загрузка ResourceBundle
- Использование ResourceBundle
- Форматирование
- Форматирование чисел
- Форматирование дат и времени
- Форматирование сообщений
- Работа с текстом
- Сравнение строк
- Разбиение текста
- Запись текста
Домашнее задание 12. Статистика текстаСтатистика текста-
Создайте приложение
TextStatistics ,
анализирующее тексты на различных языках.
-
Аргументы командной строки:
- локаль текста,
- локаль вывода,
- файл с текстом,
- файл отчета.
-
Поддерживаемые локали текста: все локали, имеющиеся в системе.
-
Поддерживаемые локали вывода: русская и английская.
-
Файлы имеют кодировку UTF-8.
-
Подсчет статистики должен вестись по следующим категориям:
- предложения,
- слова,
- числа,
- деньги,
- даты.
-
Для каждой категории должна собираться следующая статистика:
- число вхождений,
- число различных значений,
- минимальное значение,
- максимальное значение,
- минимальная длина,
- максимальная длина,
- среднее значение/длина.
-
Пример отчета:
Анализируемый файл "input.txt"
Сводная статистика
Число предложений: 43.
Число слов: 275.
Число чисел: 40.
Число сумм: 3.
Число дат: 3.
Статистика по предложениям
Число предложений: 43 (43 различных).
Минимальное предложение: "Аргументы командной строки: локаль текста, локаль вывода, файл с текстом, файл отчета.".
Максимальное предложение: "Число чисел: 40.".
Минимальная длина предложения: 13 ("Число дат: 3.").
Максимальная длина предложения: 211 ("GK: если сюда поставить реальное предложение, то процесс не сойдётся").
Средняя длина предложения: 55,465.
Статистика по словам
Число слов: 275 (157 различных).
Минимальное слово: "GK".
Максимальное слово: "языках".
Минимальная длина слова: 1 ("с").
Максимальная длина слова: 14 ("TextStatistics").
Средняя длина слова: 6,72.
Статистика по числам
Число чисел: 40 (24 различных).
Минимальное число: -12345,0.
Максимальное число: 12345,67.
Среднее число: 207,676.
Статистика по суммам денег
Число сумм: 3 (3 различных).
Минимальная сумма: 100,00 ₽.
Максимальная сумма: 345,67 ₽.
Средняя сумма: 222,83 ₽.
Статистика по датам
Число дат: 3 (3 различных).
Минимальная дата: 19 мая 2022 г..
Максимальная дата: 2 июн. 2022 г..
Средняя дата: 26 мая 2022 г..
-
Вы можете рассчитывать на то, что весь текст помещается в память.
-
При выполнении задания следует обратить внимание на:
- Декомпозицию сообщений для локализации.
- Согласование сообщений по роду и числу.
-
Напишите тесты, проверяющие вышеуказанное поведение приложения.
-
Для реализации тестов рекомендуется использовать
JUnit
(Tutorial).
Множество примеров использования можно найти в тестах.
-
Если вы знакомы с другим тестовым фреймворком
(например, TestNG),
то можете использовать его.
-
Нельзя использовать самописные фреймворки и тесты,
запускаемые через
main .
|