連續函數均可計算區間積分, 請撰寫一個程式由可計算x, x2, x3, 平方根, 立方根, 等函數的區間積分. 請以繼承以下類別的方式, 撰寫以上五個函數
public abstract class Fun {
    public abstract double val(double);
}
f(x) = x的函數範例如下
public class Linear extends Fun {
    public double val(double x) {
        return x;
    }
}
這五個函數在輸入時以下面的字串來表達

此作業內的主要程式可能長成這樣

public class Integral {
    public static void main(String[] argv) {
        // process argv, create corresponding object and call integral
        // Fun f = new Linear();
        // integral(f, 1, 10, 1000);
    }
    public double integral(Fun f, double start, double end, double gap) {
        // implementation
    }
}
例如在命令列下達
java Integral square 1 10 1000
表示要計算函數f(x) = x*x由1到10的區間積分, 計算時將1-10分成1000份來計算.

相關的數學函數可參考java.lang.Math類別