Java 经过一定数量的步骤后停止递归

Java 经过一定数量的步骤后停止递归,java,recursion,tree,Java,Recursion,Tree,这个问题把我弄糊涂了。我有一棵树,我想写一个方法来计算某个节点的孙子(但不是曾孙)数。我不能使用循环,只能使用递归。所以问题是我将如何实现我的基本案例?我怎样才能让它停止?我想不出一种方法来实现这一点……将“递归深度”参数传递给递归函数,在每次调用该函数时递增该参数 当达到极限时,停止递归。为递归方法添加一个depth参数,并让它在自调用之前添加1,即: void myMethod(int depth) { /* ... Do something ... */ if (depth

这个问题把我弄糊涂了。我有一棵树,我想写一个方法来计算某个节点的孙子(但不是曾孙)数。我不能使用循环,只能使用递归。所以问题是我将如何实现我的基本案例?我怎样才能让它停止?我想不出一种方法来实现这一点……

将“递归深度”参数传递给递归函数,在每次调用该函数时递增该参数


当达到极限时,停止递归。

为递归方法添加一个
depth
参数,并让它在自调用之前添加1,即:

void myMethod(int depth) {
    /* ... Do something ... */
    if (depth < maxDepth) {
        child.myMethod(depth + 1);
    }
}
void myMethod(int-depth){
/*…做点什么*/
if(深度<最大深度){
我的方法(深度+1);
}
}

有趣的事实:有些语言只有递归;没有循环。@fprime:关于你的更新,我看不出这是怎么回事。您没有向
count孙子()的递归调用传递任何内容。我为什么要传递任何内容?我不应该…@fprime:请重新阅读我的答案和下面的示例代码。我无法选择要采用的参数。我必须创建一个不接受参数并返回int的方法。maxDepth来自哪里?如果深度剩余值随每次调用而递减,当深度达到0时,停止,不是更好吗。