Java Linkedlist多项式为什么我的输出只打印第一项

Java Linkedlist多项式为什么我的输出只打印第一项,java,data-structures,Java,Data Structures,我刚刚写了一个程序,添加了两个多项式链表。我的输出只打印多项式的第一项 我搞不懂什么是bug。我想在这里得到一些帮助。有人能告诉我我的代码出了什么问题吗 public void addNode(int cof, int exp) { PNode node = new PNode(cof, exp); if (first == null) { first = last = node; return; } last.next = nod

我刚刚写了一个程序,添加了两个多项式链表。我的输出只打印多项式的第一项

我搞不懂什么是bug。我想在这里得到一些帮助。有人能告诉我我的代码出了什么问题吗

public void addNode(int cof, int exp) {
    PNode node = new PNode(cof, exp);
    if (first == null) {
        first = last = node;
        return;
    }
    last.next = node;
    last = node;
}
public PolynomialLinkedList add(PolynomialLinkedList s) {
    PolynomialLinkedList sum = new PolynomialLinkedList();

    //implement this method
    PNode list1 = first;
    PNode list2 = s.first;
    while (list1 != null && list2 != null) {
        if (list1.exp == list2.exp) {
            sum.addNode(list1.coe + list2.coe, list1.exp);
            list1 = list1.next;
            list2 = list2.next;
        } else if (list1.exp > list2.exp) {
            sum.addNode(list1.coe, list1.exp);
            list1 = list1.next;
        } else if (list2.exp > list1.exp) {
            sum.addNode(list2.coe, list2.exp);
            list2 = list2.next;
        }
    }
    return sum;
}

如果其中一个列表先完成,则忽略另一个列表中的其余项目,并且不会将其添加到总和中

添加其他循环

while(list1 != null) {
 sum.addNode(list1.coe,list1.exp);
            list1=list1.next;
}


如果其中一个列表先完成,则忽略另一个列表中的其余项目,并且不会将其添加到总和中

添加其他循环

while(list1 != null) {
 sum.addNode(list1.coe,list1.exp);
            list1=list1.next;
}

您的打印方法(或toString)在哪里?您的打印方法(或toString)在哪里?