next不能解析为java中的值或字段
我有一个问题: 编写一个递归java函数,以循环方式计算循环中的节点数 链表 以下是方法/功能:next不能解析为java中的值或字段,java,recursion,circular-list,Java,Recursion,Circular List,我有一个问题: 编写一个递归java函数,以循环方式计算循环中的节点数 链表 以下是方法/功能: public int countNodes(Node node){ if (node == null) { return 0; } else{ return 1+countNodes(node.next); } } 我在电话里听到一个错误 返回1+countNodesnode.next; 这说明:next不能解析为java中
public int countNodes(Node node){
if (node == null) {
return 0;
}
else{
return 1+countNodes(node.next);
}
}
我在电话里听到一个错误
返回1+countNodesnode.next;
这说明:next不能解析为java中的值或字段
我应该怎么做才能修复此错误?按照代码的方式,您试图访问一个不存在的字段,名为next in Node。若节点是您创建的类,则添加该字段,或者您是想调用名为next的方法吗?如果是,请执行node。下一步,node类应如下所示:
public class Node {
private Node next;
public Node getNext(){
return next;
}
//setter and other stuff
}
您必须调用node.getNext
return 1+countNodes(node.getNext());
不要忘记Java是一种面向对象的语言。下一步是什么?它在哪里定义/声明?它意味着下一个要访问的节点。我必须定义它?可能您没有在节点中定义next,或者它在您的方法中不可见。我如何以及作为什么类型定义next?