回 帖 发 新 帖 刷新版面

主题:求助!!!

public class eapp{
static int fac(int n){
int resu;
if(n==1||n==0)
resu=1;
else 
resu=n*fac(n-1);
return resu;
}
public static void main(String [] args){
  eapp f=new eapp();
  double e =0;
int i=1;
int m=1;
   while((Math.E-e)>=0.0001||(Math.E-e)<=-0.0001)
  {

   e+=(double)1/f.fac(m);

   i++;
  m=i;
 }
System.out.println("e="+e);
System.out.println("i="+i);
}
}
怎么这个程序打印不出结果呢???请高手指教。。。。。

回复列表 (共4个回复)

沙发

不明白。。。

板凳

我试了一下,结果不对。不知为什么

3 楼

问题在于“while((Math.E-e)>=0.0001||(Math.E-e)<=-0.0001)”这一句。它是永真的,所以程序会一直循环下去……
请问这个循环原意是用来干吗的?

4 楼

死循环了

我来回复

您尚未登录,请登录后再回复。点此登录或注册