题目描述
输入x,计算上面公式的前10项和。
import java.text.DecimalFormat;
import java.util.Scanner;
public class java_test {
public static void main(String[] args) {
Scanner Sc = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.000");// 定义输出结果保留小数点后三位
double x = Sc.nextDouble();
double sum = 0;
for (int n = 1; n <= 10; n++) {
sum += Math.pow(-1, n + 1) * Math.pow(x, 2 * n - 1) / factorial(2 * n - 1);
}
System.out.printf("%s", df.format(sum));
}
// 计算的阶乘,注意这里的返回值类型为double类型
public static double factorial(int n) {
double sum = 1;
for (int i = 1; i <= n; i++) {
sum *= i;
}
return sum;
}
}