用Java语言写 使用级数求近似值

来源:百度知道 编辑:UC知道 时间:2024/06/15 04:38:19
ex=1+x/1!+x2/2!+…+xn/n!+…
其中x=0.2,0.4,…1.0,计算精度为0.000001

//package com.color.encoding;

import java.math.BigDecimal;
import java.util.Scanner;

public class Compute {

/**
* 计算一个数的阶乘
* @param n
* @return
*/
public static int back(int n){
if(n>1){
return n*back(n-1);
}else{
return 1;
}
}

/**
* 提供精确的小数位四舍五入处理。
* @param v 需要四舍五入的数字
* @param scale 小数点后保留几位
* @return 四舍五入后的结果
*/
public static double round(double v, int scale) {
if (scale < 0) {
throw new IllegalArgumentException(
"The scale must be a positive integer or zero");
}
BigDecimal b = new BigDecimal(Double.toString(v));
BigDecimal one = new BigDecimal("1");
return b.divide(one, scale, BigDecimal.ROUND_HALF_UP).doubleValue();
}

public static void main(String[] args){
double ex =1.0;
double x = 0.2;
Scan