さて、私は夢中になるかもしれませんが、これまでこのエラーに遭遇したことはありません。
これはコンパイルされません:
私が得るエラーは次のとおりです:「訪問したシンボル変数が見つかりません」
編集済み
関数全体は次のとおりです。
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);
}
}
なんでそうなの?