package demo;import java.math.BigDecimal;public class EX {public static void main(String[] args) { BigDecimal sum=new BigDecimal(0.0); BigDecimal factorial=new BigDecimal(1.0); int i=1; while(i<=20) { sum=sum.add(factorial); ++i; factorial=factorial.multiply(new BigDecimal(1.0/i)); } System.out.println("1+1/2!+1/3!.....="+sum);}}/*BigDecimal一共有4个构造方法BigDecimal(int) 创建一个具有参数所指定整数值的对象。BigDecimal(double) 创建一个具有参数所指定双精度值的对象。BigDecimal(long) 创建一个具有参数所指定长整数值的对象。BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。BigDecimal 的运算方式 不支持 + - * / 这类的运算 它有自己的运算方法BigDecimal add(BigDecimal augend) 加法运算BigDecimal subtract(BigDecimal subtrahend) 减法运算BigDecimal multiply(BigDecimal multiplicand) 乘法运算BigDecimal divide(BigDecimal divisor) 除法运算*/