有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java我很难从我的maclaurin系列中获得sin x的准确输出

     // a java program that displays the maclaurinseries math function
     // sin x = x - x^3/3! + x^5/5! - x^7/7!
     // sin x = (-1)^n * x^(2n+1) / (2n+1)!

    import java.util.Scanner;

    public class maclaurinseries
    {
    public static void main(String args[])
    {
        double x;
        double counter=1;
        double factorial =1;
        double result=0;

        Scanner input=new Scanner(System.in);

        System.out.println("enter a number");
        x=input.nextDouble();

        while(x>=counter) {

            factorial=2*factorial*counter+1;
            result=result+(Math.pow(-1,counter)) * (Math.pow(x,2*counter+1))/(factorial);
            counter++;

        }

        System.out.println("Maclaurin series is" +result);

    }

    }

以下是我输入x的数字3.14时的代码输出:

enter a number 3.14 Maclaurin series is-24.935440878754584

如你所见,当我将x=3.14代入函数sin x时,我的输出应该是0,而不是-24.935330878754583。我做错了什么


共 (0) 个答案