На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Библиотека (сервис) для работы со словарем 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, java, задачи





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Криптографические хэши
Файлы или база данных – сравним?


© upread.ru 2013-2021
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.