| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 605 人关注过本帖
标题:哪位大神看下,我走不出的死循环!
只看楼主 加入收藏
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
结帖率:94.74%
收藏
已结贴  问题点数:20 回复次数:8 
哪位大神看下,我走不出的死循环!
题目的要求是:求平均数:用户输入任意个非0的数,输入0推出循环,系统计算并显示平均值。

下面是小弟的语句 :好几次都是死循环,没有头绪了呀!
程序代码:
import java.util.Scanner;


public class AB {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        System.out.println("请输入任意数:");
        double any= a.nextDouble();
        double num=0;
        double sum;
        if (any==0){
            System.exit(0);
        }else{
        while (any!=0){
            System.out.println("请输入任意数:");
              any++;
            
            
        }
        }
        // TODO Auto-generated method stub

    }

}
搜索更多相关主题的帖子: 大神 
2010-09-07 19:13
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:0 
程序代码:
import java.text.DecimalFormat;
import java.util.Scanner;


public class AB {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        double any;
        double num=0;
        double sum=0;
        while(true){
            System.out.println("请输入任意数:");
            any= a.nextDouble();
            if(any==0){break;}
            num++;
            sum=sum+any;
        }
        DecimalFormat format=new DecimalFormat("#.##");
        System.out.println("总和:"+format.format(sum));
        System.out.println("平均数:"+format.format(sum/num));
        // TODO Auto-generated method stub

    }

}
2010-09-07 19:59
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
DecimalFormat format=new DecimalFormat("#.##")

我是新手,请问版主这个是什么意思呀?
我才学循环。
可不可以不用这个包import java.text.DecimalFormat;
写出来呀?

2010-09-07 20:08
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
不用这个也可以的呀!
程序代码:
import java.util.Scanner;


public class AB {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        double any;
        double num=0;
        double sum=0;
        while(true){
            System.out.println("请输入任意数:");
            any= a.nextDouble();
            if(any==0){break;}
            num++;
            sum=sum+any;
        }
       
        System.out.println("总和:"+sum);
        System.out.println("平均数:"+(sum/num));
        // TODO Auto-generated method stub

    }
}



只要把有颜色的地方改下不是也可以吗?为什么必须加呀?

2010-09-07 20:14
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
另外问下版主?while(ture)是什么意思呀?

2010-09-07 20:15
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:0 
以下是引用xingjing314在2010-9-7 20:08:00的发言:

DecimalFormat format=new DecimalFormat("#.##")

我是新手,请问版主这个是什么意思呀?
我才学循环。
可不可以不用这个包import java.text.DecimalFormat;
写出来呀?


可以不用DecimalFormat,这个类只是用于格式化数字输出,像上面的代码就会精确到小数点后2位
程序代码:
import java.util.Scanner;

public class AB {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Scanner a = new Scanner(System.in);
        double any;
        double num=0;
        double sum=0;
        while(true){
            System.out.println("请输入任意数:");
            any= a.nextDouble();
            if(any==0){break;}
            num++;
            sum=sum+any;
        }
        System.out.println("总和:"+sum);
        System.out.println("平均数:"+sum/num);
        // TODO Auto-generated method stub

    }

}


这个是不用格式化输出,平均数可能会有很多位小数。
2010-09-07 20:15
xingjing314
Rank: 2
等 级:论坛游民
帖 子:160
专家分:32
注 册:2007-1-23
收藏
得分:0 
哦哦 谢谢版主了 while(true)是什么意思呀

2010-09-07 20:17
shellingford
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:19
帖 子:228
专家分:1348
注 册:2010-8-9
收藏
得分:20 
以下是引用xingjing314在2010-9-7 20:15:24的发言:

另外问下版主?while(ture)是什么意思呀?


while(条件)

当条件满足是,即表达式返回true时执行循环
而表达式返回false时,则跳过循环执行下面的语句。
这里直接写true意味着100%进入循环而不会跳过,也不会自然跳出循环
所以在后面判断了any==0时,使用break语句跳出循环。
2010-09-07 20:18
快速回复:哪位大神看下,我走不出的死循环!
数据加载中...
 
   



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

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