我不知道这个列表出了什么问题,但当我尝试测试它时,我的IDE崩溃了。我不知道这是我的toString方法,还是我的Add方法,所以这里是我的代码。当我测试这些方法时,我的IDE不会打印或返回任何内容,并且停止工作,直到我必须重新启动。
public void add(int index, String string){
Node newest=new Node(string,null);
Node temp;
temp=head;
newest.setNext(temp);
for (int i=0;i<index-1;i++){
newest.setNext(newest.getNext());}
for (int i=0;i<=index-1;i++){
temp.setNext(temp.getNext());
if (i==index-1){
temp.setNext(newest);
}
}}
public String toString(){
Node Current= head;
String result=" ";
while(Current!=null){
result+=Current.getElement()+", ";
Current=Current.getNext();
}
return result;
}
您的add方法似乎在链表中设置了一个循环,相关的代码行为;
newest.setNext(temp);
...
temp.setNext(newest);
toString()
只是循环,直到它找到列表的末尾,但由于一旦添加了循环,列表就会无限循环回来,所以它永远不会终止。
顺便说一下,你也有一些奇怪的线条;
newest.setNext(newest.getNext());
...
temp.setNext(temp.getNext());
就我所见,他们什么都不做(即他们得到下一个节点并将其设置为下一个结点)。