我正在尝试创建一个虚拟Node
,它允许我遍历我创建的LinkedList
对象,从LinkedList的.first
Node
开始,一直持续到它没有更多的价值观。具体来说,我遇到的问题是,当我创建一个虚拟Node
时,Java无法识别我刚刚用来定义虚拟Node
的变量。请注意以下代码:
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;
}
错误出现在while
循环booelan语句中,我被告知Java“找不到符号:变量p”
知道为什么吗?谢谢!
为方便起见,您可以使用一些变量定义:
table = MyLinkedLists的哈希表;
x =哈希表的大小;
答案 0 :(得分: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;
}
}
答案 1 :(得分:1)
Node p = table[i].first;
while(table[i].p != null){
values.add(p.value);
p = p.next;
}
除非table[i]
的返回值包含变量p,否则您无法使用