0

我试图让一种方法使用递归,我的方法如下:

public int recursion(int start) {

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

return start;

}

但是,我收到一条错误消息,告诉我找不到“递归”方法。有什么建议么?:)

干杯!

4

1 回答 1

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”(rec- one),您将其称为“recl”(rec- ell)。

于 2013-03-13T09:00:13.880 回答