递归技术

时间:2013-03-13 08:57:20

标签: java recursion

我正在尝试使用递归的方法,我的方法是:

public int recursion(int start) {

if(start >= 1)
    recursion(start-1);

return start;

}

然而,我收到一个错误,告诉我无法找到方法“递归”。有什么建议? :)

干杯!

1 个答案:

答案 0 :(得分:6)

您的代码唯一的问题是您未能返回recursion(start - 1)的值。即使这样,这也是一个逻辑问题,而不是编译错误。

以下编辑对我来说很好:

public int recursion(int start) {
    if (start >= 1)
        return recursion(start - 1);
    return start;

}

因此问题出在其他地方。

如果你收到了你描述的错误,那么你在试图调用它时可能会拼错recursion(),或者你已经在一个类中定义它但是试图在另一堂课的背景。

编辑以下是评论中的代码:

public class recursion1 {
    public int rec1(int start) {
        if (start >= 1)
            return recl(start - 1);
        return start;
    }

    public static void main(String[] args) {
        recursion1 test = new recursion1();
        System.out.println(test.recl(5));
    }
}

该方法称为“rec1”(r-e-c- one ),您将其称为“recl”(r-e-c- ell )。