Решение интеграла методом средних прямоугольников.Как определить на сколько частей разбивать?

Написал код ,решающий интеграл методом средних прямоугольников.Но как сделать так,что бы пользователь вводил точность и программа автоматически определяла на сколько кусков надо разбить интеграл?

 public class Main
 {

static Scanner scanner = new Scanner(System.in);
static double f(double x)
{
    return(1/x);
}
static double integralpram(int a,int b,int n)
{
    double s=0;
    double h=(b-a)*1.0/n;
    for (double x=a+h/2;x<b;x=x+h)
    {
        s=s+f(x)*h;
    }

    return s;
}
public static void main(String args[ ])
{

    double  y;
    int a,b;
    System.out.println(" F(x)=1/x");

        System.out.println("Введите диапазон интегрирования");
        a = scanner.nextInt();
        b = scanner.nextInt();
        scanner.nextLine();


    y=integralpram(a,b,100);
    System.out.println(y);
}}

Ответы (1 шт):

Автор решения: MBo

Для первого приближения можно оценить погрешность метода аналитически, однако для этого придётся оценивать вторую производную на каждом промежутке

d = Max(f'') * (b-a)^3 / (24 * n^2)

На практике можно увеличивать число интервалов, сравнивать прошлое и текущее значение интеграла, и остановиться, когда модуль разницы становиться менее заданной погрешности

→ Ссылка