2016-12-24 1 views
0

二重リンクリストにParsonを追加しようとしています。私はコードを書いて、私はどんなエラーも見たことがありません。しかし、実行中にエラーがあります。何でも私を助けることができますか?リンクリストの最初の要素を追加する際にエラーが発生しました。Java

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

メイン:

public class DouplyLinkedList { 
public static void main(String[] args) { 
    LinkedList dll = new LinkedList(); 
    dll.addFirst(new Node(20, null, null)); 
    dll.addFirst(new Node(90,null,null)); 
    dll.Display(); 
+0

エラーのスタックトレースを追加してください。 –

+0

リストが空で頭と尾がヌルの場合、最初は – Turo

+0

'head = null'を扱っていません。 'head.getNext();'は 'NullPointerException'をスローします。 – GurV

答えて

0

youreの頭が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; 
    } 
} 
0

最初ヘッドヌルです。 addFirstメソッドを次のように試すことができます。

public void addFirst(Node z){ 

    if(head == null) { 
     head = z; 
     tail = z; 
    } else { 
     z.setNext(head); 
     head.setPrevioue(z); 
    } 
    size++; 
} 
関連する問題