修复队列中的java.lang.NullPointerException错误
因此,我用Java实现了一个队列,并试图实现一个在队列末尾插入元素的过程。但我收到一条错误消息“Java.lang.NullPointerException”。我对这一点不熟悉,不知道这意味着什么,也不知道如何修复它修复队列中的java.lang.NullPointerException错误,java,pointers,queue,Java,Pointers,Queue,因此,我用Java实现了一个队列,并试图实现一个在队列末尾插入元素的过程。但我收到一条错误消息“Java.lang.NullPointerException”。我对这一点不熟悉,不知道这意味着什么,也不知道如何修复它 class Node { public int ielement; public String selement; public Node next; public Node(int iel, String sel) { ielement = iel;
class Node {
public int ielement;
public String selement;
public Node next;
public Node(int iel, String sel) {
ielement = iel;
selement = sel;
}
class Implement {
private Node head;
private Node tail;
public Implement() {
head = null;
tail=null;
}
public void InsertAtTheEnd(int iel, String sel){
Node newNode=new Node(iel,sel);
if(!Empty())//if the queue is empty{
tail.next=newNode;
tail=newNode;}
else{
newNode.next=head;
head=newNode;
}
}
public static void main(String[] args) {
Implement k = new Implement();
k.InsertAtTheEnd(1, "b");
k.InsertAtTheEnd(3, "bes");
k.InsertAtTheEnd(4, "kes");}
您从不初始化
尾部。如果队列不是空的,tail.next
应该指向新创建的节点,正如您所做的那样。如果是,则头和尾都应该指向新添加的节点
public void insertAtTheEnd (int iel, String sel) {
Node newNode = new Node(iel,sel);
if (!empty()) {
tail.next = newNode;
tail = newNode;
} else {
head = newNode;
tail = newNode;
}
}