java中的多层循环控制,包括金字塔和九九乘法表的打印

news2024/11/27 17:51:37

多重循环控制

  • 多重循环控制
  • 练习

多重循环控制

1.将一个循环放在另一个循环体内,就形成了嵌套循环。其中,for,while,do…while均可以作为外层循环和内层循环。【建议一般用两层,最多不要超过3层,否则代码的可读性很差】
2.实际上,嵌套循环就是把内存循环当成外层循环的循环体。当只有内层循环的循环条件为false时,才会完全跳出内存循环,才可结束外层的当次循环,开始下一次的循环。
3.设外层循环次数为m次,内存为n次,则内层循环体实际上需要执行m*n次。

for(int i = 1; i <= 7; i++){  //循环7次
	for(int j = 1; j <= 2; j++){  //循环2次
		System.out.println("ok");  //循环7*2=14次
	}
}

练习

统计3个班成绩情况,每个班有5名同学,求出各个班的平均分和所有班级的平均分,并统计三个班及格人数

import java.util.Scanner;
public class ForTest{
	public static void main(String[] args){

	 // 统计3个班成绩情况,每个班有5名同学,
	 // 求出各个班的平均分和所有班级的平均分,
	 // 并统计三个班及格人数
	 // 1.化繁为简,先统计1个班成绩情况
	 // 2.Scanner键盘输入,double score接收键盘输入
	 // 3.for循环嵌套,执行三次(统计1个班成绩情况),用sum接收每个班总分,每次结束清零
	 // 4.用total_score来接收三个班总分
	 // 5.int count = 0;统计及格人数

	Scanner sc = new Scanner(System.in);
	double total_score = 0; //收集三个班的总分
	int count = 0;
	for(int i = 1;i <= 3; i++){
		double sum = 0;
		for(int j = 1; j <= 5; j++){	//统计一个班的五名同学成绩,j表示同学
			System.out.println("请输入" + i + "班第" + j +"名同学成绩:");
			double score = sc.nextDouble();
			System.out.println(i + "班第"+ j + "名同学成绩为:" + score + "\n");
			if(score >= 60){
				count++;
			}
			sum +=score;   //求一个班的总分,每次结束内层循环自动清零double sum = 0;
			total_score +=score;

		}
		System.out.println(i + "班总分为:" + sum + "平均分为:" + (sum / 5)); //输出一个班的总分和平均分
		
	}
	System.out.println("三个班的总分为:" + total_score +
		"平均分为:" + (total_score / 15));
	System.out.println("及格人数为:" + count);

		
 }
}

打印金字塔

import java.util.Scanner;
public class ForTest{
	public static void main(String[] args){

	/*打印
	*
	**
	***
	****
	*****
	 */	
	
	//化繁为简先打印出
	/*
	*****  5行5列矩形
	*****
	*****
	*****
	*****
	 */
	
	//进一步打印出半个金字塔
	/*
	i表示行数
	*       第1行,1个*
	**		第2行,2个*
	***		第3行,3个*
	****	第4行,4个*
	*****	第5行,5个*
	
	 */
	
	//打印整个金字塔
	/*
	    *        第1行,(2*i)-1=1个*   前有4个空格   (总行数5 - i)个空格
	   ***		 第2行,(2*i)-1=3个*	前有3个空格
	  *****		 第3行,(2*i)-1=5个*   前有2个空格
	 *******	 第4行,(2*i)-1=7个*   前有1个空格
	*********	 第5行,(2*i)-1=9个*   前有0个空格 
	 */

	//打印镂空金字塔
	/*
		*        第1行,1个*   前有(总行数5 - i)=4个空格   
	   * *		 第2行,2个*	  前有3个空格
	  *   *		 第3行,2个*   前有2个空格
	 *     *	 第4行,2个*   前有1个空格
	*********	 第5行,9个*   前有0个空格
	 首尾都是*,中间为空
	 */
	
	 Scanner sc = new Scanner(System.in);
	 System.out.println("请输入行数(整数):");
	 int total_hang = sc.nextInt();


	for(int i = 1;i <= total_hang;i++){ //i表示行数
		//控制打印每层*的个数
		for(int k = 1;k <= (total_hang - i);k++){   //空格的位置
			System.out.print(" ");
		}

			for(int j = 1;j <=2 * i - 1;j++){   //j表示*的第几个位置
				if(j == 1 || j == 2 * i - 1 || i == total_hang){
					System.out.print("*");
				}
				else{
					System.out.print(" ");
				}
			}
		//每打印完一层*就换行
		System.out.println("");
	}

 }
}
打印九九乘法表

在这里插入图片描述

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

	for(int i = 1;i <= 9;i++){ //i表示行数
		for(int j = 1; j <= i;j++){
			System.out.print(i + "*" + j + "=" + i * j + "\t");
		}
	//打印完自动换行
	System.out.println("");	
	}
 }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2192625.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【前端】前端数据转化为后端数据

【前端】前端数据转化为后端数据 写在最前面格式化数组代码解释hasOwnProperty是什么&#xff1f; &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴与支持 ~ &#x1f680; 欢迎一起踏上探险之旅&#xff0c;挖掘无限…

k8s实战-3

k8s实战-3 一、Ingress1.安装2.测试 二、存储抽象1.环境准备2.PV和PVC3.ConfigMap4.Secret 总结 一、Ingress Ingress 类似于一个“网关”&#xff0c;它负责将外部 HTTP 请求路由到集群内的服务。你可以把它想象成一个“交通警察”&#xff0c;根据请求的 URL 和路径&#xf…

无锡自闭症康复寄宿学校:每天的康复方式揭秘

无锡自闭症康复寄宿学校的启示&#xff1a;揭秘广州星贝育园的日常康复方式 在自闭症儿童的教育与康复领域&#xff0c;每一所学校都在用自己的方式探索着前行的道路。无锡的自闭症康复寄宿学校以其独特的康复方式和显著的效果&#xff0c;为众多家庭带来了希望。而在广州&…

jvisualvm学习

系列文章目录 JavaSE基础知识、数据类型学习万年历项目代码逻辑训练习题代码逻辑训练习题方法、数组学习图书管理系统项目面向对象编程&#xff1a;封装、继承、多态学习封装继承多态习题常用类、包装类、异常处理机制学习集合学习IO流、多线程学习仓库管理系统JavaSE项目员工…

前端工程化 - Vue

环境准备 Vue-cli是Vue官方提供的一个脚手架&#xff0c;用户快速生成一个Vue的项目模板。 Vue-cli提供了如下功能&#xff1a; 统一的目录结构本地调试热部署单元测试集成打包上线 需要安装Node.js 安装Vue-cli npm install -g vue/cli通过vue --version指令查看是否安装成…

蓝桥杯省赛真题打卡day4

[蓝桥杯 2013 省 A] 大臣的旅费 题目描述 很久以前&#xff0c;T 王国空前繁荣。为了更好地管理国家&#xff0c;王国修建了大量的快速路&#xff0c;用于连接首都和王国内的各大城市。 为节省经费&#xff0c;T 国的大臣们经过思考&#xff0c;制定了一套优秀的修建方案&am…

模电中二极管,三极管和电容的应用

&#x1f3c6;本文收录于《全栈Bug调优(实战版)》专栏&#xff0c;主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&am…

使用 Python 遍历文件夹

要解决这个问题&#xff0c;使用 Python 的标准库可以很好地完成。我们要做的是遍历目录树&#xff0c;找到所有的 text 文件&#xff0c;读取内容&#xff0c;处理空行和空格&#xff0c;并将处理后的内容合并到一个新的文件中。 整体思路&#xff1a; 遍历子目录&#xff1…

三维模型点云化工具V1.0使用介绍:将三维模型进行点云化生成

三维软件绘制的三维模型导入之后&#xff0c;可以生成点云&#xff0c;用于替代实际的激光扫描过程&#xff0c;当然&#xff0c;主要是用于点云算法的测试和验证&#xff0c;没法真正模拟扫描的效果&#xff0c;因为太过于理想化了。 功能介绍 将三维软件绘制的三维模型变成…

一个月学会Java 第3天 对类的深刻认识

Day3 对类的深刻认识 第一章 方法 在Day2的时候已经浅浅的认识过类&#xff0c;但是还是不够深刻&#xff0c;我们现在来深刻的认识一下类是什么和他的结构&#xff0c;首先在认识类的结构之前我们需要再认识和了解这么一个东西&#xff0c;他就是——方法 方法(method)也叫函…

iMazing只能苹果电脑吗 Win和Mac上的iMazing功能有区别吗

在当今数字时代&#xff0c;管理和备份手机数据变得越来越重要。无论是转移照片、备份短信&#xff0c;还是管理应用程序&#xff0c;一个强大的工具可以大大简化这些操作。iMazing作为一款备受好评的iOS设备管理软件&#xff0c;已经成为许多用户的选择。但是&#xff0c;许多…

用manim实现Gram-Schmidt正交化过程

在线性代数中&#xff0c;正交基有许多美丽的性质。例如&#xff0c;由正交列向量组成的矩阵(又称正交矩阵)可以通过矩阵的转置很容易地进行反转。此外&#xff0c;例如&#xff1a;在由彼此正交的向量张成的子空间上投影向量也更容易。Gram-Schmidt过程是一个重要的算法&#…

GESP C++三级样题卷

&#xff08;满分&#xff1a;100 分 考试时间&#xff1a;90 分钟&#xff09; 一、单选题&#xff08;每题 2 分&#xff0c;共 30 分&#xff09; 1.下列关于负数的原码、反码、补码的描述中&#xff0c;正确的是( ) A 原码和反码互为按位取反&#xff08;符号位除外&…

[ComfyUI]Flux:太强了!任意扩图神器,小红书极致逼真风格出游打卡写实风

随着人工智能技术的不断发展&#xff0c;图像生成与反推技术已经成为了AI领域的一大热点。今天&#xff0c;我们就来为大家详细介绍一款由ComfyUI团队开发的超强图像反推工具——Flux&#xff0c;以及如何使用它实现任意扩图和极致逼真风格出游打卡写实风。 一、Flux&#xff…

k8s-集群部署1

k8s-集群部署1 一、基础环境准备二、docker环境准备三、k8s集群部署1.kubeadm创建集群2.使用kubeadm引导集群 总结 一、基础环境准备 首先&#xff0c;需要准备三个服务器实例&#xff0c;这里我使用了阿里云创建了三个实例&#xff0c;如果不想花钱&#xff0c;也可以在VM上创…

第十一章 缓存之更新/穿透/雪崩/击穿

目录 一、什么是缓存 二、缓存更新策略 2.1. 缓存主动更新策略 2.1.1. Cache Aside模式&#xff08;主流&#xff09;‌ 2.1.2. Read/Write Through模式‌ 2.1‌.3. Write Behind模式‌ 2.1.4. 总结 三、缓存穿透 四、缓存雪崩 五、缓存击穿 5.1. 互斥锁实现 5.1.1…

好用且不伤眼镜的超声波清洗机排名!谁才是清洁小能手?

对于经常佩戴眼镜的人来说&#xff0c;眼镜的日常清洁保养极为关键。传统清洁方式可能导致镜片刮花和残留污渍&#xff0c;鉴于此&#xff0c;眼镜专用的超声波清洗机应运而生&#xff0c;利用超声振动技术深入微细缝隙&#xff0c;彻底扫除污垢与油脂&#xff0c;保护镜片免受…

计算机编程入门先学什么最好?零基础入门到精通,收藏这篇就够了

看完其他知友的回答&#xff0c;我认为他们的观点过于局限&#xff0c;并没有真正切中问题的要害。 我们不妨换个角度&#xff0c;站在更高一层来看这个问题「计算机编程入门先学什么最好&#xff1f;」 计算机入门最应该学的是 Linux&#xff0c;而非任何的编程语言。 这篇文…

A_H_README_TO_RECOVER勒索恢复---惜分飞

有客户mysql数据库被黑(业务数据库被删除)&#xff0c;创建了一个A_H_README_TO_RECOVER库 [rootwww.xifenfei.com ~]# mysql -uroot -pxxxxx Warning: Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; …

站岗放哨树形dp

前言&#xff1a;好久没有写树上dp了&#xff0c;这儿题目还是挺有意思的 题目地址 #include<bits/stdc.h> #include<iostream> using namespace std;//#define int long long int n; const int N (int)1e510; int e[N],ne[N],h[N],idx 0; int dp[2][N];void add…