2013-04-21 87 views
0

我很好奇,以瞭解如何將多個int添加到java中的LinkedList中的節點(單個循環)。我在SO上發現了一個線程,並正在閱讀它,但並不確定它是如何工作的。以爲我會重新提出這個問題,看看我能否得到答案。多個變量存儲在單個節點java鏈接列表

這是我的節點類

public class LinkedList{ 
private class Node{ 
    private int pid; 
    private int time; 
    private Node next; 

    public Node(int pid, int time){ 
     this.pid=pid; 
     this.time=time; 
    } 
} 
int size; 
Node head; 

這是我的加我我做任何刪除或類似的東西之前,我只是嘗試。

public void add(int pid, int time) { 
    Node curr=head; 
    Node newNode=new Node(pid, time); 
    if(head==null){ 
     head=newNode; 
      newNode.next=head; 
    }//end if 
    else{ 
     while(curr.next!=head){ 
      curr = curr.next; 
     }//end while 
     curr.next=newNode; 
      newNode.next=head; 
    }//end else 
    size++; 
}//end add 
} 

這是我迄今爲止但是當我嘗試輸入兩個整數,我得到的private int time一個空指針異常難道我做錯了什麼?我正在讀取一個文件,然後將這兩個整數存儲在一個節點中,然後執行相同的操作,直到文件完全讀取完畢。我有文件讀取就好了,我有兩個整數存儲爲整數從文件,但我似乎無法得到它存儲在節點ints

+0

你沒有在提交代碼有問題。只需將'Node'類設爲'static'即可。或者你需要引用'Node'中的'LinkedList'?添加代碼如何填充列表對象。 – 2013-04-21 02:00:33

回答

2

你是如何初始化head?你做了Node head = new Node()

如果您創建自定義構造函數,則Java不會再添加默認構造函數。你必須再次定義。

可以代替做Node head = null;

+0

他很好 - 他正確處理'head'中的'null'。 – 2013-04-21 01:57:17

+0

以及把頭= null現在工作正常 – kevorski 2013-04-21 02:00:26

+0

@kevorski這不可能是真的:)未初始化的引用是'空' – 2013-04-21 02:02:44

相關問題