繁体   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