问一个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;i<=n;i++){
for(int j=(i-1);j>0;j--){
i*=j;
}
e+=1.0/i;
}
tools.showMessage("e is:"+e);
}
} [tonymmm (9-5 23:35, Long long ago)]
[ 传统版 |
sForum ][登录后回复]1楼
I think the problem isfor( 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;
}
[紫羊 (9-5 23:52, Long long ago)]
[ 传统版 |
sForum ][登录后回复]2楼
(引用 紫羊:I think the problem isfor( int i=1;i0;j--){ i*=j; //You are changing the value of i here } e+=1.0/i; } )yup....[疯一样的男子 (9-6 0:03, Long long ago)] [ 传统版 | sForum ][登录后回复]3楼
(引用 疯一样的男子:yup....)哈,我知道该怎莫作了。谢谢学长指导!:)[tonymmm (9-6 0:26, Long long ago)] [ 传统版 | sForum ][登录后回复]4楼