修复队列中的java.lang.NullPointerException错误

时间:2015-06-03 18:35:37

标签: 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;
    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");}

1 个答案:

答案 0 :(得分:0)

您永远不会初始化tail。如果队列不为空,tail.next应该指向新创建的节点,就像您所做的那样。但是,如果是,headtail都应指向新添加的节点。

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;
    }
}