2015-11-26 58 views
1

我試圖創建一個虛擬Node,讓我穿越我創建,在那個鏈表的.firstNode開始,一直持續,直到它有沒有更多的值LinkedList對象後,無法找到變量。我遇到的問題是,當我創建一個虛擬Node時,Java不會識別我剛用來定義我的虛擬Node的變量。觀察下面的代碼:在while循環booelan聲明Java的:它已被定義

private MyLinkedList extract(int x){ 
MyLinkedList values = new MyLinkedList(); 
for(int i = 0; i < x; i++){ 
    Node p = table[i].first; 
    while(table[i].p != null){ 
    values.add(p.value); 
    p = p.next; 
    } 
} 
return values; 
} 

錯誤出現,我告訴Java的「找不到符號:變量p」

任何想法,爲什麼?謝謝!

有些方便您的變量定義:

表= MyLinkedLists的哈希表;

x =哈希表的大小;

+0

你認爲什麼'表[I] .p'是什麼意思? – talex

回答

1
Node p = table[i].first; 
    while(table[i].p != null){ 
    values.add(p.value); 
    p = p.next; 
    } 

除非table[i]返回值包含變量p,你不能用它

1

p是一個局部變量,它不是table[i]引用引用的實例的成員。

嘗試:

for(int i = 0; i < x; i++){ 
    Node p = table[i].first; 
    while(p != null){ 
    values.add(p.value); 
    p = p.next; 
    } 
}