Я беру класс программирования У меня есть следующее назначение.remove() метод связанного списка
Напишите программу, управляемую меню, которая либо принимает слова, либо их значения, либо отображает список слов в лексикографическом порядке (например, в словаре). Когда запись должна быть добавлена в словарь, вы должны сначала ввести слово как одну строку, а затем ввести значение как отдельную строку. Другое требование - время от времени слова устаревают. Когда это произойдет, такое слово должно быть удалено из словаря.
Используйте класс JOptionPane для ввода информации.
Используйте концепцию связанного списка для выполнения этого упражнения. Вам понадобятся как минимум следующие классы:
- Класс WordMeaning, который содержит имя слова и его значение.
- Класс WordMeaningNode, который создает узел информации и поле связи .
- Класс WordList, который создает и поддерживает связанный список слов и их значения.
- Класс словаря, который проверяет ваши классы.
Для вывода, программа должна производить два прокруткой списка:
- Текущий список слов и их значений.
- Список удаленных слов. Вам не нужно перечислять значения, только слова.
До сих пор у меня было все закодировано, кроме метода удаления, и я не уверен, как это кодировать, так что может кто-нибудь мне помочь. Я уже кодировал метод добавления, но теперь я не знаю, с чего начать с метода remove в моем классе WordList. Мои занятия ниже.
WordList Класс:
public class WordList {
WordMeaningNode list;
WordList() {
list = null;
}
void add(WordMeaning w)// In alphabetical order
{
WordMeaningNode temp = new WordMeaningNode(w);
if (list == null)
list = temp;
else
{
WordMeaningNode aux = list;
WordMeaningNode back = null;
boolean found = false;
while(aux != null && !found)
if(temp.getWordMeaning().getName().compareTo(aux.getWordMeaning().getName()) < 0)
found = true;
else
{
back = aux;
aux = aux.next;
}
temp.next = aux;
if (back == null)
list = temp;
else
back.next = temp;
}
}
boolean listIsEmpty() {
boolean empty;
if (list == null) {
empty = true;
} else {
empty = false;
}
return empty;
}
public String toString()
{
String result = "";
int count = 0;
WordMeaningNode current = list;
while (current != null)
{
count++;
result += current.getWordMeaning().getName() + "\n" + "\t" + current.getWordMeaning().getDefinition();
current = current.next;
}
return result + "\nThe number of words is : " + count;
}
}
Я пытался использовать тот же формат, метод для метода REMOVE, как я сделал для метода добавления, но на самом деле не работает, или я сделал это неправильно.
Нет, его назначение - * code * связанный список WordMeaningNodes, каждый узел содержит экземпляр WordMeaning, содержащий слово и его определение. Прочитайте вопрос перед публикацией комментариев. –