【发布时间】:2013-11-27 23:49:12
【问题描述】:
我正在学习一个中间 Java 类,我们被分配创建一个字典。用户将输入单词和含义,然后将其添加到列表中
目前,每当一个新词被添加到列表中时,它都应该将自己与其他词进行比较,直到找到合适的位置。每当我在第一个单词之前输入一个新单词时,它会删除第一个单词并将自己放在那里, 每当我输入一个应该在我得到 NullPointerException 之后出现的单词时。不知道怎么回事
这是我的代码中给我带来问题的部分:
void add(Word w)
{
WordNode temp = new WordNode(w);
if (list == null)
list = temp;
else
{
WordNode aux = list;
WordNode back = null;
boolean found = false;
while(aux != null && !found)
if (temp.word.getTitle().compareTo(aux.word.getTitle()) < 0)
found = true;
else
{
back = aux;
aux = aux.next;
}
aux.next = temp;
if (back == null)
list = temp;
else
back.next = temp;
}// End of the else
}
请帮忙!
【问题讨论】:
-
您是否尝试过在 IDE 调试器中单步执行代码?这告诉你什么?
-
我建议您首先启动一个调试器并逐步检查您的代码,看看它在做什么。
-
< 0的比较结果表明该值不相等。== 0的结果表明它是相同的。您的代码假定< 0表示已找到它。请准备一些意图+括号。
标签: java list comparison