青瓜吃蛙
2019-12-31 18:50
采纳率: 50%
浏览 91
已采纳

请问这段代码为什么不给我输出呢?

链表

public class ListNode{
public int data;
public ListNode next;

public ListNode(int data) {
    this.data=data;
}

public class List {
ListNode head;

public List() {
    head=null;
}
public void add(int data) {
    ListNode node=new ListNode(data);
    ListNode current;

    if (head==null) {
        head=node;
    }
    else {
        current=head;
        while(current.next!=null) {
            current=current.next;
        }
        current.next=node;
    }
}
public boolean insert(int data,int insertPosition) {
    ListNode node=new ListNode(data);
    ListNode current=head;;

    if (head==null) {
        return false;
    }
    else {
        for(int i=0;i<insertPosition-1;i++) {
            if(current.next==null) {
                return false;
            }
            current=current.next;
        }
        node.next=current.next;
        current.next=node;
        return true;
    }
}

public String toString() {
    ListNode current=head;
    String result="";
    while(current.next!=null) {
        result+=current.data+"\n";
    }
    return result;
}

public static void main(String[] args) {
    List numberList=new List();
    numberList.add(3);
    numberList.add(9);
    numberList.add(8);
    numberList.add(5);
    numberList.add(2);
    numberList.add(6);
    System.out.println(numberList);
}

}

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 王能 2020-01-02 09:16
    已采纳

    toString个死循环,你没把current指向next

    while(current.next!=null) {
            result+=current.data+"\n";
        }
    

    问答版主就是牛,从现在起只回论坛,不在踏入问答半步

    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题