为什么这个链表崩溃了我的IDE?

时间:2014-09-27 17:11:23

标签: java linked-list

我不知道这个列表有什么问题,但是当我尝试测试它时,我的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;
}

1 个答案:

答案 0 :(得分:1)

你的add方法似乎在链表中设置了一个循环,相关的代码行是;

newest.setNext(temp);
...
temp.setNext(newest);

你的toString()只是循环,直到它找到列表的结尾,但由于列表一旦添加了循环就无限循环,它将永远不会终止。

作为旁注,你也有一些奇怪的线条;

newest.setNext(newest.getNext());
...
temp.setNext(temp.getNext());

...据我所见,我绝对没有做任何事情(即他们获得下一个节点并将其设置为下一个节点)。