当前位置: 首页 > news >正文

【多重循环在Java中的应用】

多重循环在Java中的应用

在这里插入图片描述

介绍

多重循环是将一个循环嵌套在另一个循环体内的编程结构。Java中的 forwhiledo...while 循环均可作为外层循环和内层循环。建议使用两层嵌套,最多不超过三层,以保持代码的可读性。

在多重循环中,外层循环执行的次数为 (m),内层循环执行的次数为 (n),则内层循环实际上会被执行 (m \times n) 次。

示例

for(int i = 1; i <= 7; i++) { // 第一层循环 7次for(int j = 1; j <= 2; j++) { // 第二层循环 2次System.out.println("ok~~~"); // 总共输出14次}
}

多重循环执行步骤分析

for(int i = 0; i < 2; i++) {for(int j = 0; j < 3; j++) {System.out.println("i=" + i + " j=" + j);}
}

在这里插入图片描述
在这里插入图片描述

应用实例

练习一:班级成绩统计

题目:编写程序统计3个班级的成绩情况。每个班级有5名学生,计算各个班级的平均分以及所有班级的平均分,并统计及格人数。


//化繁为简
//(1) 先计算一个班的,接收5个学生的成绩
//1.1 创建Scanner 对象后,接受用户输入
//1.2 得到该班级的平均分,定义一个double sum 把所该班级的5个学生的成绩累加起来
//(2) 统计3个班(每个班5个学生) 平均分
//(3) 所有班级的平均分
//3.1 定义一个double = sum2;统计所有班级的平均分
//3.2 循环结束以后,sum2/(3 )
//(4) 统计三个班的及格人数 
//4.1 定义变量 int passNum = 0; 当有一个学生成绩>= 60 ,passNum++;
//4.2 还可以定义一个变量去统计每个班的及格人数,int count =0;  count++;import java.util.Scanner;public class MulForExercise01 {public static void main(String[] args) {Scanner in = new Scanner(System.in);double sum2 = 0; // 所有班级的总分int passNum = 0; // 及格人数统计for(int i = 1; i <= 3; i++) { // 表示班级double sum = 0;int count = 0; // 每个班的及格人数for(int j = 1; j <= 5; j++) { // 表示学生System.out.println("请输入第" + i + "个班级的第" + j + "个学生的成绩");double score = in.nextDouble();sum += score;if(score >= 60) {count++;   // 统计每个班的及格人数passNum++; // 累加总及格人数}}sum2 += sum; // 累加所有班级的总分System.out.println("第" + i + "个班级的平均分= " + (sum / 5));System.out.println("第" + i + "个班级的及格人数是" + count);System.out.println("====================================================");}System.out.println("所有班级的平均分= " + (sum2 / (3 * 5)));System.out.println("所有班级的及格人数= " + passNum);}
}

在这里插入图片描述

练习二:九九乘法表

题目:编写程序打印出九九乘法表。

public class Multable {public static void main(String[] args) {for(int i = 1; i <= 9; i++) { // i表示层数for(int j = 1; j <= i; j++) { // j表示每层的个数System.out.print("\t" + j + "*" + i + "=" + (i * j));}System.out.println();}}
}

结果

运行上述代码将输出班级的平均分和及格人数,以及九九乘法表的结果。这些练习不仅加深了对多重循环的理解,也提供了实际应用的示例。


http://www.lryc.cn/news/455931.html

相关文章:

  • JVM(Java Virtual Machine) 详解
  • 【进阶OpenCV】 (4)--图像拼接
  • pg if条件语句
  • Pikachu-unsafe upfileupload-getimagesize
  • SOA是什么
  • 构建高效团队,内部CRM系统的益处详解
  • Linux文件属性
  • 什么是Anaconda
  • ubuntu24开启启动脚本
  • 流浪地球行星发动机
  • 云岚到家,使用Elasticsearch实现服务的搜索功能,使用Canal+MQ完成服务信息与ES索引同步。MQ
  • 【图论】迪杰特斯拉算法
  • 四、Python基础语法(数据类型转换)
  • 工业物联网的安全与隐私保护—SunIOT
  • 二层网络和三层网络的理解与区别(包含通俗理解和归纳总结)
  • 【C++】:lambda表达式的高级应用
  • 详解正确创建好SpringBoot项目后但是找不到Maven的问题
  • 力扣203.移除链表元素
  • UE4 材质学习笔记05(凹凸偏移和视差映射/扭曲着色器)
  • 网约班车升级手机端退票
  • 【Vue】Vue 快速教程
  • SQLite数据库介绍
  • 点击label 按钮起作用
  • JPA、Hibernate、MyBatis三种ORM框架怎么选择
  • 【C++】map详解
  • 力扣206.反转链表
  • 如何查看服务器的带宽linux服务器
  • 云原生化 - 工具镜像(完整版)
  • leetcode68:文本左右对齐
  • Linux驱动学习——内核编译