用Java 计算e = 1 + 1/1! + 1/2! + 1/3! + 1/4! + …+1/n!
时间: 2023-12-01 16:43:49 浏览: 170
以下是Java计算e的代码,其中使用了BigDecimal类来处理高精度计算,保证计算结果的准确性。代码中使用了循环来计算e的近似值,直到最后一项的绝对值小于10的负6次方为止,并将结果输出到文件java_11.txt中。
```java
import java.io.*;
import java.math.BigDecimal;
public class CalculateE {
public static void main(String[] args) {
BigDecimal e = BigDecimal.ZERO; // 初始化e为0
BigDecimal item = BigDecimal.ONE; // 初始化每一项为1
int n = 0; // 初始化n为0
while (item.compareTo(new BigDecimal("0.000001")) >= 0) { // 当最后一项的绝对值小于10的负6次方时停止循环
e = e.add(item); // 将每一项加到e中
n++; // n加1
item = BigDecimal.ONE.divide(factorial(n), 20, BigDecimal.ROUND_HALF_UP); // 计算下一项的值
}
try {
FileWriter fw = new FileWriter("java_11.txt");
fw.write(e.toString()); // 将结果输出到文件中
fw.close();
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
// 计算阶乘
public static BigDecimal factorial(int n) {
BigDecimal result = BigDecimal.ONE;
for (int i = 1; i <= n; i++) {
result = result.multiply(new BigDecimal(i));
}
return result;
}
}
```
阅读全文