import java.math.BigDecimal;
import java.math.BigInteger;
// 测试类
public class Demo {
public static void main(String[] args) {
BigDecimal s1 = jieCheng(100);//BigDecimal存100的阶乘还是没有问题的
BigInteger bi=s1.toBigInteger();//BigInteger存100的阶乘也可以
System.out.println(bi);
System.out.println(s1);
}
public static BigDecimal jieCheng(int num) {
BigDecimal sum = new BigDecimal("1");
if (num
throw new IllegalArgumentException("参数不能为负!");
}
for (int i = 1; i <= num; i++) {
sum =sum.multiply(new BigDecimal(i));//循环进行累乘
}
return sum;// 返回结果字符串
}
}