其實隻有在學校才會使用的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();