Java: 定义后找不到变量
Java: Cannot find variable after it has been defined
我正在尝试创建一个虚拟 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 "cannot find symbol : variable p"
知道为什么吗?谢谢!
为方便起见,一些变量定义:
table = MyLinkedLists 的哈希值table;
x = 散列大小table;
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;
}
}
Node p = table[i].first;
while(table[i].p != null){
values.add(p.value);
p = p.next;
}
除非 table[i]
的 return 值包含变量 p ,否则您不能使用它
我正在尝试创建一个虚拟 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 "cannot find symbol : variable p"
知道为什么吗?谢谢!
为方便起见,一些变量定义:
table = MyLinkedLists 的哈希值table;
x = 散列大小table;
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;
}
}
Node p = table[i].first;
while(table[i].p != null){
values.add(p.value);
p = p.next;
}
除非 table[i]
的 return 值包含变量 p ,否则您不能使用它