Java实现用while循环计算1+1/2!+1/3!..1/20!
- @author asus
- 在main方法中创建保存总和的sum变量和计算阶乘的factorial变量,为保证计算
- 结果的精度,这两个变量都是BigDecimal类的实例对象。然后通过while实现20次
- 循环,并完成计算。
具体代码如下:
package package4;
import java.math.BigDecimal;
/**
* 用while循环计算1+1/2!+1/3!...1/20!
* @author asus
* 在main方法中创建保存总和的sum变量和计算阶乘的factorial变量,为保证计算
* 结果的精度,这两个变量都是BigDecimal类的实例对象。然后通过while实现20次
* 循环,并完成计算。
*/
public class Example {
public static void main(String[] args) {
// TODO Auto-generated method stub
BigDecimal sum=new BigDecimal(0.0);//和
BigDecimal factorial=new BigDecimal(1.0);
int i=1;//循环增量
while(i<=20) {
sum=sum.add(factorial);//累加各项阶乘的和
++i;//i加1
factorial=factorial.multiply(new BigDecimal(1.0/i));//计算阶乘项
}
System.out.println("1+1/2!+1/3!...1/20!的计算结果等于:\n"+sum);//输出计算结果
}
}