Java求解 求出e的值

img

代码展示(仅供参考):
import java.util.*;
public class Main{
    public static void main(String[] args)
    {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        double x; //定义一个存放阶乘的容器
        double sum=1;  
        for (int i=n;i>=1;--i){  
                x = 1.0;  //给定初值为1
            for(int j=i;j>=1;--j){  //根据题目从1阶乘开始计算
                x*=j;
            }
            sum+= 1.0/ x;   //进行阶乘累加求和
            }
        System.out.printf("%.10f",sum);
    }
}
运行结果:

img

我遇到的问题:
  因为题中要求的是精度问题,在做的时候,尽可能的将变量和运算式中值改为精度值