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)。