程序无法在我的方法中找到符号

时间:2014-11-22 01:26:40

标签: java

我正在创建一个添加单词的程序,包括它的含义,并删除单词。换句话说,一本字典。我对这种特殊方法有疑问。

public void insert(WordMeaning w1) {
    WordMeaningNode current = list;
    WordMeaningNode back = null;
    WordMeaningNode temp = new WordMeaningNode(w1);

    try {

        boolean found = false;

        while (current != null && !found) {

            if (temp.w1.getWord().compareToIgnoreCase(current.w1.getWord()) <= 0) {
                found = true;
            } else {
                back = current;
                current = current.next;
            }
        }
        temp.setNode(current);

        if (back == null) {
            list = temp;
        } else {
            back.setNode(temp);
        }

    } catch (NullPointerException e) {

    }
}

现在一切正常,减去了方法没有检测到“if(temp.w1 ....)”及其后的“w1”这一事实。 WordMeaning w1调用两个字符串,该字符串给出了单词的名称及其定义。

我的第一个想法是我放置了WordMeaningNode temp无法检测到w1,但我不再确定。

1 个答案:

答案 0 :(得分:1)

我的猜测是WordMeaningNode没有名为w1的成员。

您已获得w1的位置,请将其与WordMeaningNode类型的成员名称交换为WordMeaning

所以,如果你的班级是:

public class WordMeaningNode {

    public WordMeaningNode(WordMeaning meaning) {
        this.meaning = meaning;

    public WordMeaning meaning;

}

你应该把:

temp.meaning.getWord().compareToIgnoreCase(current.meaning.getWord()) <= 0
//   -------                                       -------

传递给构造函数的变量的名称是相关的。