多重循环的应用保姆级拆分讲解:统计班级平均分、打印九九乘法表、实心金字塔和空心金字塔的实现


前言

本篇文章是韩顺平老师课程P135(多重循环控制练习内容的拓展,也是韩顺平老师笔记系列04有关多重循环内容的详细展开叙述,是第五章的重点,也是难点,多重循环在实际运用中用得也是非常多的。

在这篇文章里,我们将一起实现四个案例,从分析思路出发,每一步如何实现,运行结果如何都会放出来,一步步拆解步骤,让新手小白更好体会编程思想。案例包括统计班级平均分、九九乘法表、金字塔的打印。所有完整代码我会放在每个案例分析的最后。每个案例都十分经典,所有完整代码我都会放在案例最后


一、统计班级平均分和及格人数

  • 需求一:统计3个班成绩情况,每个班有5名同学,求出每个班的平均分所有班级的平均分,要求学生的成绩从键盘输入

  • 需求二:统计3个班及格人数,每个班有5名同学

  • 思路分析:化繁为简

    • 要统计三个班的情况,我们先计算一个班(5个学生)的成绩,再把同样的思路扩展到三个班(用一个for循环就可以解决)
      • 1.1 创建Scanner对象,接受输入成绩
      • 1.2 要得到该班级平均分,先定义一个double sum的变量用来存放一个班五个学生成绩的总和,用sum/5就可以了
        在这里插入图片描述
        在这里插入图片描述
    • 统计三个班每个班的总分和平均分(实现二重循环)
      • 2.1 加入三个班级的循环(外层再加一个班级for循环1-3)
        for(int i = 1; i <= 3; i++) { }//i表示班级1-3
        for(int j = 1; j <= 5; j++) { }//j表示学生1-5
        在这里插入图片描述
    • 统计所有班的平均分
      • 3.1 定义一个变量double totalScore 累计三个班所有学生的成绩总分
        在这里插入图片描述
    • 统计三个班的及格人数
      • 4.1 定义变量 int passNum用来记录及格的人数
      • 4.2 如果成绩 >= 60,这个人数就+1
        在这里插入图片描述
  • 完整代码实现:

import java.util.Scanner;

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

		//思路分析:
		//1. 要统计三个班的情况,我们先计算一个班(5个学生)的成绩,再把同样的思路扩展到三个班(for)
		//1.1 创建Scanner对象,接受输入成绩
		//1.2 要得到该班级平均分,先定义一个double sum的变量
		//    用来存放一个班五个学生成绩的总和

		//2. 统计每个班的总分
		//2.1 加入每个班级的循环(外层再加一个班级for循环)

		//3. 统计所有班的平均分
		//3.1 定义一个变量double totalScore 累计三个班所有学生的成绩总分

		//4. 统计三个班的及格人数
		//4.1 定义变量 int passNum用来记录及格的人数
		//4.2 如果成绩 >= 60,这个人数就+1

		//5. 优化

		//创建Scanner对象,由于成绩这个变量会在整个代码里反复使用
		//放在for循环外面,作为全局变量使用
		Scanner myScanner = new Scanner(System.in);

		double sum = 0;//一个班五个学生的总分
		double totalScore = 0;//三个班所有学生的成绩总分
		int passNum = 0;//定义变量 int pass用来记录及格的人数

		//2.1 加入三个班级的循环
		for
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值