| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:我的程序哪里错了呀?
只看楼主 加入收藏
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
结帖率:94.74%
收藏
已结贴  问题点数:20 回复次数:5 
我的程序哪里错了呀?
题目要求公司的业绩06年8万,以125%的速度增长什么时候到20万?
程序代码:

public class Ab {

    /**
     * @param args
     */
    public static void main(String[] args) {
        double first=8;
        double cre=1+25/100;
        int year=2006;
        while(first<=20){
            first=first*cre;
            year++;
            
            
        }
        System.out.println("以25%的增长速度,"+year+"年能达到20万的人数");
        // TODO Auto-generated method stub

    }

}
2010-09-08 21:15
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
是25%的速度增长。

2010-09-08 21:16
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:20 
程序代码:
public class Ab {

    /**
     * @param args
     */
    public static void main(String[] args) {
        double first=8;
        double cre=1+25*1.0/100;
        int year=2006;
        while(first<=20){
            first=first*cre;
            year++;
            
            
        }
        System.out.println("以25%的增长速度,"+year+"年能达到20万的人数");
        // TODO Auto-generated method stub

    }

}


你的代码错在这句double cre=1+25/100;
这样cre=1
25/100 这样程序会认为是int除以int,那么返回int,得到的0.25会被转成int类型,就得到0了
那么cre=1+0得1
所以程序永远不会跳出循环。
2010-09-08 21:33
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
为啥直接写cre=1.25;就对了呢?
这么写就死循环呢?

2010-09-08 21:42
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
哦哦 是呀

2010-09-08 21:43
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
谢谢版主了

2010-09-08 21:44
快速回复:我的程序哪里错了呀?
数据加载中...
 
   



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

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