public class Trapezoidal { public static double integrate(Func f, double a, double b, int n) { double sum = 0.5*(f.eval(a)+f.eval(b)); double h = (b-a)/n; for ( int i = 1; i < n; i++ ) sum += f.eval(a+i*h); return sum*h; } }