【Java例题】3.6计算arcsin,x的值

6.使用泰勒展开式计算arcsin(x)的值。 arcsin(x)=x+x^3/(2*3)+1*3*x^5/(2*4*5)+...+ (2n)!*x^(2n+1)/(2^2n)*(n!)^2*(2n+1)), 其中,|x|<1,当通项|u|<10^(-8)时,输出计算结果。 这里的"^"表示乘方,"!"表示阶乘。

package chapter3;

import java.util.Scanner;

public class demo6 {
        public static void main(String[] args) {
                Scanner sc=new Scanner(System.in);
                double x=sc.nextDouble();
                double sum=x;
                double ans;
                for(int i=1;i>0;i++) {
                        //(2n)!*x^(2n+1)/(2^2n)*(n!)^2*(2n+1)),
                        ans=jie(2*i)*Math.pow(x,2*i+1)/(Math.pow(2,2*i)*jie(i)*jie(i)*(2*i+1));
                        if(Math.abs(ans)<=Math.pow(10,-8)) {
                                break;
                        }
                        sum=sum+ans;
                }
                System.out.println(sum);
        }
        private static int jie(int a) {
                int jiec=1;
                for(int i=1;i<=a;i++) {
                        jiec=jiec*i;
                }
                return jiec;
        }
}