在Java教科书中被Recursion解释混淆

时间:2015-05-22 01:06:56

标签: java recursion

所以我正在读一本关于递归的教科书解释,我感到很困惑。这是他们使用的例子。

    public static void message(int n){
        if (n > 0){
            {
                System.out.println("This is a recursive method");
                message(n-1);
            }
        }
    }

然后他们创建一个main方法,当n = 5时从上面调用message方法,并解释该方法被调用6次。该方法调用自身5次,因此递归的深度为5.我得不到的是:“因为在方法调用之后没有更多的语句要执行,所以该方法的第五个实例返回程序的控制权到第四个实例。这将重复,直到该方法的所有实例都返回。“

方法返回意味着什么?

1 个答案:

答案 0 :(得分:1)

这意味着该方法结束。由于该方法无效,因此无法返回实际结果,但您可以这样写。

public static void message(int n){
    if (n > 0){
        {
            System.out.println("This is a recursive method");
            message(n-1);
        }
    }
    return;
}