簡體   English   中英

鏈表節點

[英]LinkedList Nodes

我有一個關於我需要完成的任務的問題。 編寫一個菜單驅動的程序,該程序要么接受單詞及其含義,要么按詞典順序顯示單詞列表(例如,在詞典中)。 要在字典中添加條目時,必須首先將單詞作為一個字符串輸入,然后將含義作為單獨的字符串輸入。 一個單詞可能具有多個含義,並且可能在不同的時間輸入。 發生這種情況時,請將每個連續的含義放在單獨的行上。 在此新含義之前必須加上破折號。 例如,如果按以下順序輸入以下單詞及其含義:Library,School,Cup和School,則輸出應該是如圖1所示的顯示。

使用鏈接列表的概念來執行此練習。 您至少需要以下類:•一個WordMeaning類,其中包含單詞的名稱及其含義。 •WordMeaningNode類,用於創建信息節點及其鏈接字段。 •WordList類,用於創建和維護單詞及其含義的鏈接列表。 •測試您的班級的詞典班級。

問題與第二個要點有關。 我不確定如何為WordMeaningNode創建構造函數。 這是我到目前為止的內容:

import java.lang.*;
import java.util.*;
public class WordMeaningNode 


{
  String information;
  WordMeaningNode locale;




  public WordMeaningNode(WordMeaning data) 
//WordMeaning is a class that takes two strings(Word and definition) and stores it.
//Entry is a method that returns the strings stored in WordMeaning.

  {
      information = data.Entry();
      locale = null;
  }

  public String getMeaning()

  {
      return information;
  }

  public WordMeaningNode getNext()

  {
      return locale.getNext();
  }

}

幾件事:

首先,我認為您最好傳入data.entry()產生的String。 那就是您可以通過以下方式創建構造函數:

public WordMeaningNode(String entry){
   int index = entry.indexOf(',') + 1; //Assuming your String is comma delimited.
   information = entry.substring(0, index);
   String next = entry.substring(index);
   if(next.isEmpty()){
      locale = null;
   } else {
      locale = new WordMeaningNode(next);
   }
}

其次,您的getNext()方法是否正常工作? 似乎總是會給出空指針異常。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM