详细的解释从我开始。基础练习,通过while和for 输入多个数字求其总和与平均数,使用回车确认,通过非数字确认结束

本文介绍两种Java程序设计方法实现输入多个数字并计算平均值的功能。一种使用while循环,通过Scanner不断接收用户输入直到非数字为止;另一种采用for循环实现相同功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次分为两部分,一种是广为流传的while方法,另一种阿巴阿巴乱写的for循环,希望为小哥哥小姐姐们提供一点点帮助,不说废话了正文开始

public class Damo {
    public static void main(String[] args) {

			**//第一种while**
			
        //我们要输入多个数字,并求其平均数,每输入一个数字确认,通过输入非数字来结束输入并输出结果
       //首先整一个Scanner来获取键盘的输入。当然,获取输入是System.in来做的
        Scanner scanner = new Scanner(System.in);
        //和		考虑到可能会有小数所以用到了double	double呢他是双精度的数据类型、64 位、符合IEEE 754标准的浮点数;
        double sum = 0;
        //计算输入了多少个数字
        int m = 0;
        //通过循环判断是否还有输入,并在里面对每一对进行一次求和统计
        while (scanner.hasNextDouble()){
            double x = scanner.nextDouble();
            m = m +1;//m++
            sum = sum + x;
            System.out.println("你当前输入了第" + m + "个数据,然后当前结果为sum=" + sum);
        }
        System.out.println(m + "个数的和为" + sum);
        System.out.println(m + "个数的平均值为" + (sum / m));
//每一次开启scanner一定要记得关闭哦,这是一个流~~,不关的话会一直流下去,还有要记住,这个流的开启和关闭最好在一个方法里。这样可读性会高一些
        scanner.close();
    }


	**//第二种for**
        Scanner scanner = new Scanner(System.in);
        System.out.println("本次计算通过非数字结束并输出结果");

        double s = 0;
        //这里的两个;是正确的哦,因为我不想限制他的循环次数
        //s是数的总和,我们也不需要再整次数了,因为循环了的i可以直接拿来用
        for (int i = 1;; i++) {
            System.out.println("本次计算已开始,您这是第"+i+"次输入");
            System.out.println("请输入整数");
            //这种if写法是默认为true的
            if (scanner.hasNextDouble()){
//既然用到了Double,那我们读取数据当然也要用Double的,不要问为什么!而这个e是哪来的呢,我生的!。。。开玩笑,起了个名字而已,我一个七尺大汉,怎么可能生的出来
                double e = scanner.nextDouble();

                System.out.println("本次输入整数:"+e);
                //每一次s+e都会把本次值的和给s,就可以获取总和了
                s = s + e;
                //s/i都不陌生吧,就是个除法
                System.out.println("目前输入的和为:"+s+"平均数为:"+(s/i));
            }else {
                System.out.println("本次结束");
                //for循环要用break跳出哦,这样才不会继续循环下去
                break;
            }

        }

        scanner.close();
    }

}

while的结果
while的结果

for循环结果
for的结果

最后,这次感谢各位小哥哥小姐姐们的光临,有意见一定要提出来哦,想法也行,鞠躬,感恩。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值