2

Math.pow() と同じことを行うメソッドを作成していますが、y に double 値を使用して double 値の結果を 10 進数で取得できるようにする方法がわかりません....アイデアはありますか (できれば for ループを使用します)。以下の方法では、「x」を基数として、「y」を指数として使用しました。

public static double power(double x, double y) {
    double result = 1;
    if (y <= 0)
        return 0;
    for (int count = 0; count < (int)y; count++)
        result *= x;
    return result;
}
4

3 に答える 3

3

これを実現するには、Math.log と Math.exp を使用できます。

public static void main(String[] args) throws InterruptedException {


         System.out.println(power(2,2.5));

    }


  public static double power(double x, double y) {

    double val = y *  Math.log(x);

    double result = Math.exp(val);

            return result;
    }

出力は

5.65685424949238
于 2012-11-15T05:06:56.287 に答える