修改之後的:
public static void main(String[] args) { // TODO Auto-generated method stub
int i=1;
BigDecimal big = new BigDecimal(0);
double m;
while(i<=20){
m=fun(i);
double temp = 1/m;
big = big.add(BigDecimal.valueOf(temp));
i++;
}
System.out.println(big);
private static double fun(long i) {
// TODO Auto-generated method stub
int n=1;
double s=1;
while(n<=i){
s=s*n;
n++;
return s;
輸出結果:1.7182818284590452257701727507883965
這樣更精確點 當然你可以把BigDecimal換成double也行,只不過精確度不夠
修改之後的:
public static void main(String[] args) { // TODO Auto-generated method stub
int i=1;
BigDecimal big = new BigDecimal(0);
double m;
while(i<=20){
m=fun(i);
double temp = 1/m;
big = big.add(BigDecimal.valueOf(temp));
i++;
}
System.out.println(big);
}
private static double fun(long i) {
// TODO Auto-generated method stub
int n=1;
double s=1;
while(n<=i){
s=s*n;
n++;
}
return s;
}
輸出結果:1.7182818284590452257701727507883965
這樣更精確點 當然你可以把BigDecimal換成double也行,只不過精確度不夠