我试图让一种方法使用递归,我的方法如下:
public int recursion(int start) {
if(start >= 1)
recursion(start-1);
return start;
}
但是,我收到一条错误消息,告诉我找不到“递归”方法。有什么建议么?:)
干杯!
您的代码的唯一问题是您无法返回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)。