求e的近似值java_java e=1+1/1!+1/2!+1/3!+ ……

其实只有在学校才会使用的java编程,我都已经很久没有编写过这种代码了。别人找我做我也只能知道思路,具体怎么编写其实一点都不记得了。平时都是编写B/S模式的,和这个还真没什么关系,看了看别人的代码是怎么写的才想起来,真是脑子不好使啊!

题目:用e=1+1/1!+1/2!+1/3!+ ……的公式求e的近似值,直到最后一项的绝对值小于10-6为止,并将输出结果保存在文件java_11.txt中。

这里主要就是两个方面,一是1/fun(i)得到的值一直都是0,虽然给他定义的是double,但是还是没有用,尝试用BigDemical还是不管用,直到(double)强转的出现解决了。二是文件怎么存储到txt文档中去,这也是从网上扒下来改的。希望自己留着以后可以借鉴吧!

package test;

import java.io.FileWriter;

import java.io.IOException;

public class test {

static int  fun(int i){

int m = 1 ;

for(int n =1 ; n <= i ; n++){

m*=n;

}

return m ;

}

public static void main(String[] args) {

int i = 1 ;

double e = 1 ;

while(Math.abs(fun(i))<=1000000){

e+= (double)1/fun(i);

i++;

}

FileWriter fileWriter;

try {

fileWriter = new FileWriter("E:\\java_11.txt");

fileWriter.write(String.valueOf("e的近似值为:"+e));

fileWriter.flush();

fileWriter.close();

} catch (IOException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}

}

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值