问一个java问题!我想了一晚上也没想出来:(我这个程序是想计算 e=1/0!+1/1!+1/2!+...+1/n!的值。compile fine,可是run的时候,当n>=3后,得出的结果居然都是一样的2.6666666665! 请问学长,拿错了呢?我想了一晚上也没想出来,请帮帮忙!谢谢!
public class Test extends JavaKaraProgram{
public void myProgram(){
int n=tools.intInput("enter n:");
double e=1.0; //when n=0,the result will be 1.0
for( int i=1;i0;j--){
i*=j;
}
e+=1.0/i;
}
tools.showMessage("e is:"+e);
}
}
I think the problem is
for( int i=1;i<=n;i++){
for(int j=(i-1);j>0;j--){
i*=j; //You are changing the value of i here
}
e+=1.0/i;
}
for(int j=(i-1);j>0;j--){
i*=j; //You are changing the value of i here
}
e+=1.0/i;
}