我正在使用一个中间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
}
请帮助!
答案 0 :(得分:0)
while(aux != null && !found)
if (temp.word.getTitle().compareTo(aux.word.getTitle()) < 0)
found = true;
else
{
back = aux;
aux = aux.next;
}
当aux为null时退出while循环时,下一行
aux.next = temp;
会产生nullpointerexception,因为aux为null