Java:定义变量后找不到该变量

Java:定义变量后找不到该变量,java,linked-list,hashmap,hashtable,Java,Linked List,Hashmap,Hashtable,我正在尝试创建一个虚拟节点,该节点允许我遍历我创建的链接列表对象,从该链接列表的开始。首先节点,直到它没有更多值为止。具体地说,我遇到的问题是,当我创建一个虚拟节点时,Java无法识别我刚才用来定义虚拟节点的变量。遵守以下代码: private MyLinkedList extract(int x){ MyLinkedList values = new MyLinkedList(); for(int i = 0; i < x; i++){ Node p = table[i].first

我正在尝试创建一个虚拟
节点
,该节点允许我遍历我创建的
链接列表
对象,从该链接列表的
开始。首先
节点
,直到它没有更多值为止。具体地说,我遇到的问题是,当我创建一个虚拟
节点
时,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;
}
private MyLinkedList提取(int x){
MyLinkedList值=新建MyLinkedList();
对于(int i=0;i
错误出现在
while
loop booelan语句中,我被告知Java“找不到符号:变量p”

知道为什么吗?谢谢

为方便起见,提供了一些变量定义:

table=MyLinkedList的哈希表


x=哈希表的大小

p
是一个局部变量,它不是
表[i]
引用引用的实例的成员

尝试:

for(int i=0;i

除非
table[i]
的返回值包含一个变量p,否则您不能使用它您认为
table[i].p
是什么意思?
for(int i = 0; i < x; i++){
  Node p = table[i].first;
  while(p != null){
    values.add(p.value);
    p = p.next;
  }
}
Node p = table[i].first;
  while(table[i].p != null){
    values.add(p.value);
    p = p.next;
  }