gpt4 book ai didi

java - 字段成员错误

转载 作者:行者123 更新时间:2023-12-02 07:34:58 25 4
gpt4 key购买 nike

好吧,我可能会发疯,但我以前从未遇到过这个错误。

这不能编译:

我得到的错误是:“找不到访问的符号变量”

已编辑

这是整个函数:

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);
}
}

为什么会这样呢?

最佳答案

if (!(Node)top.getAdjList().get(i).visited) 看起来您正在尝试将 boolean 转换为 节点

也许可以尝试这个:

if (!((Node)top.getAdjList().get(i)).visited) 进行强制转换,然后检查 visited 属性

关于java - 字段成员错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12397850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com