我正在尝试使用递归的方法,我的方法是:
public int recursion(int start) {
if(start >= 1)
recursion(start-1);
return start;
}
然而,我收到一个错误,告诉我无法找到方法“递归”。有什么建议? :)
干杯!
答案 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 )。