Библиотека (сервис) для работы со словарем Java
Новая задача на Java, есть готовое решение: исходники с комментариями, проект IntelliJ IDEA; либо просто два файла java. Текст задачи
Java Core. Разработать библиотеку (сервис) для работы со словарем. В словаре построчно хранятся пары слов (ключ - слово на гипотетическом языке, значение - перевод иностранного слова на русский) сам словарь хранится в файле на диске. Требования:
а) Словарь должен обеспечивать следующую функциональность:
- чтение списка пар из файла
- удаление записи по ключу
- поиск записи по ключу
- добавление записей при условии соответствия требованиям конкретного словаря
- Обеспечить возможность работы со словарями двух языков: в первом языке длина слов может быть только 4 символа и эти символы только буквы латинской раскладки, второй язык - длина слов может быть только 5 символа и эти символы только цифры.
- Интерфейс должен предоставлять следующую функциональность пользователю:
- просмотр содержимого обоих словарей
- удаление, поиск по ключу, добавление записи в одном из словарей, заранее выбранном пользователем
Ход решения
Логично предположить, что будет два файла, два класса. Первый файл – это непосредственно словарь. Структура его будет такая:
public class Dict { Map<String, String> map = new HashMap<String, String>(); String fileName; int tip; //список методов ….. }То есть три поля: map (где мы и будем хранить слово-перевод в памяти программы), fileName – адрес файла словаря (а тут уже слово-перевод будет физически храниться) и tip – эти тип словаря, по которому мы будем определять ограничения.
Список методов, которые необходимо реализовать в данном классе
//условия добавления Boolean isDefWord(String key) { .. } //конструктор Dict(int tip, String filename) { .. } //вывод результата void printStr(String str) { … } //запись в файл String writeToFile(String fileName, String text) { .. } //добавление записи String setWord(String wordEng, String wordRus) { .. } //удаление записи String removeWord(String wordEng) { .. } //поиск записи String getWord(String wordEng) { … } //вывод всех пар ключ-значение String getAllWord() { String text = ""; for(Map.Entry<String, String> entry : map.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); text = text + "\n" + key+","+value; } return text; }Все методы разбиты по принципу единственной ответственности.
Второй файл содержит класс Main. В этом классе реализуется логика работы с пользователем. Так как в ТЗ указано использовать консольное приложение, то задействуем класс Scanner для получения команд. Команды получаем с помощью метода nextLine() и потом обрабатываем. Сначала спрашиваем у пользователя какой тип словаря нужен, потом просим ввести адрес файла со словарем и далее уже работаем с ним:
В настоящий момент цена исходников программы словаря с комментариями составляет 600 рублей. Это гораздо дешевле, чем писать аналогичную программу на заказ. За отдельную плату я могу подкорректировать программу, добавить некоторые функции, как-то изменить – любые модификации по вашему желанию.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.