台形公式を使用して関数の積分を与えるIntegrateクラスをコーディングしようとしています。何らかの理由で、私が一度も値に解決したことのないコードは、「sum+=」ステップでスタックしたままになります。
public static double Trap(int exponent, int a, int b, int n) {
double h = (double) (b-a)/n;
double sum = 0;
for(int i = a; i <= b; i+=h)
sum += (Math.pow(i, exponent) + Math.pow(i+1, exponent))/2; //trouble!
return h * sum;
}
public static void main(String[] args) {
System.out.println(Trap(3,1,3,10)); //integral of x^3 from 1 to 3,
divided into 10 parts
}