在链表java中首先添加元素时出错

在链表java中首先添加元素时出错,java,linked-list,doubly-linked-list,Java,Linked List,Doubly Linked List,我试图在双链接列表中添加一个Parson。我写的代码,我没有看到任何错误。但在跑步中会出现错误。有人能帮我吗 public class LinkedList{ Node head, tail; int size; public LinkedList() { head = null; tail = null; size = 0; } public void addFirst(Node z){ Node w = head.getNext(); z.setNext(w);

我试图在双链接列表中添加一个Parson。我写的代码,我没有看到任何错误。但在跑步中会出现错误。有人能帮我吗

public class LinkedList{

 Node head, tail;
 int size;

public LinkedList()
{ head = null; tail = null; size = 0; }

public void addFirst(Node z){
    Node w = head.getNext();
    z.setNext(w);
    z.setPrevioue(head);
    w.setPrevioue(z);
    head.setNext(z);
    size = size+1;
}
public void Display()
{
    System.out.println("Douply Linked List: " + size);
    Node car = head;
    while(car != null){
        System.out.println(car.getNumber() + " <-> ");
        car = car.getNext();
    } }

您没有检查head是否为null,如果是,您将得到null点异常。 请尝试以下代码:

public void addFirst(Node z){
    if (head == null) {
         head = z;
         tail = z; 
         size = 1;
    } else {
          head.setPrevious(z);
          z.setNext(head);
          head = z;
          size = size+1;
    }
}

最初,。对于addFirst方法,您可以尝试以下方法

public void addFirst(Node z){

    if(head == null) {
       head = z;
       tail = z;
    } else {
       z.setNext(head);
       head.setPrevioue(z);
    }
    size++;
}

请添加错误的堆栈跟踪。您无法处理列表为空且head和tail为null的情况,tail您一开始根本没有处理
head=null
<代码>head.getNext()将抛出
NullPointerException
public void addFirst(Node z){

    if(head == null) {
       head = z;
       tail = z;
    } else {
       z.setNext(head);
       head.setPrevioue(z);
    }
    size++;
}