在链表java中首先添加元素时出错
我试图在双链接列表中添加一个Parson。我写的代码,我没有看到任何错误。但在跑步中会出现错误。有人能帮我吗在链表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);
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++;
}