| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1554 人关注过本帖
标题:请大家看看这代码为什么会是死循环?
取消只看楼主 加入收藏
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
请大家看看这代码为什么会是死循环?
求cos(-2.1)的值,是用台劳公式计算的。为什么会是死循环?应该怎么样改?请大家帮忙看看...谢谢
import java.lang.Math;
class  Crocodile
{
    public static void main(String[] args)
    {
        float x=-2.1f;
        float value,item;   
        float numerator;   
        int denominator;   
        int s,i,j;
        
        value=0;
        item=1;
         
        numerator=1;
        denominator=2;
        j=denominator;
        while(Math.abs(item)>=1e-5)
        {
          value=value+item;
          numerator=-numerator*x*x;
         
          s=1;
         
         for(i=1;i<=j;i++)
              s=i*s;
              
         
          j=j+2;
          denominator=s;
          item=numerator/denominator;
         
                  }
        System.out.printf("%.5f",value);
    }
}
搜索更多相关主题的帖子: 代码 
2010-09-29 13:53
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
泰勒公式cos x=1-x2/2!+x4/4!-x6/6!+x8/8!-…
2010-09-29 17:48
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
用泰勒公式cos x=1-x2/2!+x4/4!-x6/6!+x8/8!-…  (x2表示x的平方,x3表示 x的三次方……)求x=-2.1时 cos (-2.1)的值。保留5位小数...
大方向没有错,就是在求分母的阶乘时出了问题,要把s的值重新设为1,可是在while循环上加 了 s=1 后就出现了死循环。不加的话就不会出现这种情况,但是得不到正确的结果。可是不知道 为什么加了 s=1 后就会出现死循环呢?看了好久都没有明白过来...请大侠指点。
2010-09-29 19:14
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
cos(-2.1)=-0.50485;
2010-09-29 20:12
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
注意导入包,我也不知道是否正确。
答案与正确答案有点出入;应该是 数字转换时出现的误差吧?
2010-09-29 20:24
快速回复:请大家看看这代码为什么会是死循环?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012315 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved