我想为链表创建一个添加方法,但出于某种原因(对我来说这并不明显,实际上我来这里是为了帮助查找错误)每次都会进入无限循环。为什么会无限循环? (Java)
编辑:我发现了错误,我会继续我的原代码的注释与该修正的代码
public void insert(String majorName)
{
MajorNode newNode = new MajorNode(majorName, 1);
boolean inList = false;
MajorNode current = first;
if(isEmpty())
{
first = newNode;
// inList = true;
}
else
{
while(current.next != null)
{
if(current.majorName.equalsIgnoreCase(majorName))
{
current.frequency++;
inList = true;
break;
}
else
{
current = current.next;
}
}
}
if(!inList)
{
newNode.next = first;
first = newNode;
}
}
这里是我的节点类如果需要的话:
public class MajorNode
{
public String majorName;
public int frequency;
public MajorNode next;
public MajorNode(String majorName, int frequency)
{
this.majorName = majorName;
this.frequency = frequency;
}
public String toString()
{
return majorName + " " + frequency;
}
}
没有我唯一的问题是,这是否更新每个项目的频率是否正确?谢谢大家。 – Brendan 2011-05-04 23:04:14
你100%确定你的列表没有在某个地方得到一个循环? – 2011-05-04 23:23:26