2
/**
 * @(#)precision1.java
 *
 * precision1 application
 *
 * @author 
 * @version 1.00 2013/11/15
 */

public class precision1 {

    public static void main(String[] args) {

        // TODO, add your application code

        int x = 4;
        double increment = 1 ;
        double coefficient = 1;
        double currentValue = 1;
        double precision = 0.01;

        for( int i = 1;increment>precision ;i++)
        {
            currentValue= Math.pow(x,i)*coefficient+currentValue;
            increment= Math.abs (Math.pow(x,i)*coefficient);
            coefficient = coefficient * (1/(i+1));
            System.out.println("Current result: " + currentValue);
        }

    }
}

問題は次のとおりです。数値 2 が指定されている場合、ユーザーからの整数 x と精度を要求する必要があります。ユーザーが入力した x を使用して、次の式を使用して e の x 乗の近似値を計算する必要があります。プログラムは、増分が指定された精度値よりも小さい場合は常に計算を停止します。また、メイン メソッドに直接ではなく、メソッドとして記述する必要があります。 式

出力は次のようになります。

current result: 5.0
current result: 13.0
current result: 23.666666666666664
current result: 34.33333333333333
current result: 42.86666666666666
current result: 48.55555555555555
current result: 51.8063492063492
current result: 53.43174603174603
current result: 54.15414462081129
current result: 54.44310405643739
current result: 54.54818021484688
current result: 54.583205600983376
current result: 54.59398264287153
current result: 54.59706179769672
Result is 54.59706179769672

私のコードの出力は次のとおりです。

Current result: 5.0
Current result: 5.0

入力部分に尋ねても、コードが機能しないのはなぜですか?

4

4 に答える 4