好的,我可能会发疯,但我以前从未遇到过这个错误。
这不编译:
我得到的错误是:“找不到访问的符号变量”
已编辑
这是整个功能:
public void depthFirstTraverse(Node startNode) {
Stack<Node> myStack = new Stack<Node>();
myStack.push(startNode);
while (!myStack.empty()) {
Node top = myStack.pop();
top.visited = true;
System.out.println(top.item);
for (int i = 0; i < top.getAdjList().size() ; i++) {
//Node temp = (Node)top.getAdjList().get(i);
if (!(Node)top.getAdjList().get(i).visited) {
myStack.push((Node)top.getAdjList().get(i));
}
}
top.visited = false;
}
}
这部分不起作用
if (!top.getAdjList().get(i).visited) { // this line gives me an error
这样做:
for (int i = 0; i < top.getAdjList().size() ; i++) {
Node temp = (Node)top.getAdjList().get(i);
if (temp.visited) {
myStack.push(temp);
}
}
为什么会这样?