查找根的JAVA递归二分法

查找根的JAVA递归二分法,java,recursion,Java,Recursion,因此,使用递归方法查找根会给我带来stackoverflow错误,这意味着我可能不会阻止该方法多次调用自身无限循环,即使有返回。任何提示都将不胜感激。关于堆栈溢出,您是正确的。我看不到在返回RecursiveRootf、left、right、middpoint、epsilon之前停止函数的任何点;什么时候应该停止该函数?您的递归缺少第1步:打印一些内容以查看发生了什么。你可能会注意到一些事情@MattBall发现了一些事情你的假设可能是错误的。 public double RecursiveRo

因此,使用递归方法查找根会给我带来stackoverflow错误,这意味着我可能不会阻止该方法多次调用自身无限循环,即使有返回。任何提示都将不胜感激。

关于堆栈溢出,您是正确的。我看不到在返回RecursiveRootf、left、right、middpoint、epsilon之前停止函数的任何点;什么时候应该停止该函数?您的递归缺少第1步:打印一些内容以查看发生了什么。你可能会注意到一些事情@MattBall发现了一些事情你的假设可能是错误的。
public double RecursiveRoot(Function f, double left, double right, double midPoint, double epsilon){

    midPoint=(right + left)/2;

if(midPoint>epsilon){
        if(f.f(right)*f.f(midPoint)<0){
            left=midPoint;
        }
        else{
            right=midPoint;
        }

    }
    return RecursiveRoot(f, left, right, midPoint, epsilon);
}