学习-Java循环do…while之前n个自然数平均值

第1关:学习-Java循环do…while之前n个自然数平均值

任务描述

本关任务:给定一个大于 1 的正整数 n,求所有小于 n 的自然数的平均值(保留两位小数)。 自然数的定义:大于等于 0 的整数。

相关知识

当我们想要对同样的操作执行多次,就需要使用到循环结构,在 Java 中循环结构主要分为三种:

  • while 循环;
  • do...while 循环;
  • for 循环。

之前我们已经学习了 while 循环,今天我们来学习跟 while 循环相似的另一种循环结构 —— do...while 循环。

do...while 循环

首先我们来了解一下 do...while 循环的逻辑:

图1

如上图1所示,do...while 循环首先会执行一遍循环体语句,然后再判断 while 后面的条件是否成立,成立的话继续执行循环体语句,不成立的话退出循环,它的语法格式如下所示:

 
  1. do {
  2. 循环体语句序列;
  3. } while(循环条件表达式);

do...while 循环与 while 循环的区别就在于 do...while 循环是先执行循环语句,后判断,而 while 循环是先判断,后执行循环语句,也就是说 do...while 循环会保证循环体语句最少被执行一遍。

do...while 循环使用案例:循环打印”好好学习,天天向上“ n 次。

 
  1. public class DWhileTest {
  2. public static void main(String[] args) {
  3. // 定义整数变量i,并赋初值0
  4. int i=0;
  5. // 创建Scanner对象
  6. Scanner input = new Scanner(System.in);
  7. // 获取输入的整数值
  8. int n = input.nextInt();
  9. // 在do后的花括号中编写循环语句
  10. do{
  11. System.out.print("好好学习,天天向上");
  12. i++;
  13. }
  14. // 在while后判断条件
  15. while(i<n);
  16. }
  17. }

当 n=5 时,控制台输出结果:

 
  1. 好好学习,天天向上
  2. 好好学习,天天向上
  3. 好好学习,天天向上
  4. 好好学习,天天向上
  5. 好好学习,天天向上
编程要求

仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。

测试说明

平台将使用测试集运行你编写的程序代码,若全部的运行结果正确,则通关。

可在右侧 “测试结果”区查看具体的测试集详情。


开始你的任务吧,祝你成功!

源代码:

/*

任务:通过Scanner对象获取输入值n,求所有小于n的自然数的平均值。

输出的平均值请转化为double类型。

*/

import java.util.Scanner;

public class DWhileTest {

    public static void main(String[] args) {

        // 定义变量n,接收输入值

        int n;

        // 定义求和变量sum,并赋初值0

        int sum=0;

        // 定义变量i,并赋初值0

        int i=0;

       

        //创建Scanner对象

        Scanner input = new Scanner(System.in);

         // 请在Begin-End间编写代码

        /********** Begin **********/

        int j=i;

        n=input.nextInt();

        // 获取输入值n

       

        do{

            sum+=i;

            i++;

            j++;

     }

           

        // 在while后判断条件,当i不小于n时退出循环

        while(i<n-1);

        double ever =(double)sum/(j-1);

       

        // 输出平均值,保留两位小数

        System.out.print(String.format("%.2f",ever));

       

        /********** End **********/

    }

}

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值