Java 递归技术
我试图让一个方法使用递归,我的方法是:Java 递归技术,java,recursion,Java,Recursion,我试图让一个方法使用递归,我的方法是: public int recursion(int start) { if(start >= 1) recursion(start-1); return start; } 但是,我得到一个错误,告诉我无法找到“递归”方法。有什么建议吗?:) 干杯 代码的唯一问题是无法返回递归(start-1)的值。即使如此,这也是一个逻辑问题,而不是编译错误 以下内容对我来说很好: public int recursion(int start) {
public int recursion(int start) {
if(start >= 1)
recursion(start-1);
return start;
}
但是,我得到一个错误,告诉我无法找到“递归”方法。有什么建议吗?:)
干杯 代码的唯一问题是无法返回
递归(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)。代码的唯一问题是无法返回递归(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)。发布堆栈跟踪和使用情况。有了这些细节,很难说问题出在哪里。请附上SSCCE:Ehm。。。我对java很陌生,我该怎么做你的建议呢?:)在类中定义类或方法时,应该确认类或方法的声明。声明后,可以使用它。发布堆栈跟踪和使用情况。有了这些细节,很难说问题出在哪里。请附上SSCCE:Ehm。。。我对java很陌生,我该怎么做你的建议呢?:)在类中定义类或方法时,应该确认类或方法的声明。声明后,您可以使用它。我按照您的建议做了,但它告诉我它找不到符号“recursion”(该方法在类中,但不在主方法中,因此我通过启动类的实例在主方法中调用它)公共类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));}}@DarioPanada:该方法被称为
rec1
(r-e-c-one),您将其称为recl
(r-e-c-ell)。我按照您的建议做了,但它告诉我它找不到符号“recursion”(该方法在类中,但不在主方法中,因此我通过启动类的实例在主方法中调用它)公共类recursion1{public int rec1(int start){if(start>=1)return recl(start-1);return start;}publicstaticvoidmain(String[]args){recursion1test=newrecursion1();System.out.println(test.recl(5));}}@DarioPanada:该方法被称为rec1
(r-e-c-one),您将其称为recl
(r-e-c-ell)。