java打印圣诞树(三角形)plus菱形

2024-02-05 13:20

本文主要是介绍java打印圣诞树(三角形)plus菱形,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

Java循环嵌套:

案例一(矩形)

案例二(三角形,乘法表)

 案例三(圣诞树,菱形)


Java循环嵌套:

所谓循环嵌套,就是一个循环中又包含另一个循环

循环嵌套执行流程:外部循环每循环一次,内部循环会全部执行完一轮。

案例一(矩形)

需求:在控制台使用 * 打印出4行5列的矩形

package cn.itcast.looploop;public class Test1 {public static void main(String[] args) {    for (int i = 0; i < 4; i++) {    //一次外循环,就循环整个内循环for (int j = 0; j < 5; j++) {    //内循环就是输出五次*System.out.print("* ");}System.out.println();}}
}

案例二(三角形,乘法表)

需求:打印三角形

package cn.itcast.looploop;public class Test2 {public static void main(String[] args) {for (int i = 0; i < 5; i++) {for (int j = 0; j <= i; j++) { //当外循环为1,内循环打印1次System.out.print("*");      //当外循环为2,内循环打印2次}System.out.println(); //换行}}

补充:由上面这个代码我们可以联想到九九乘法表,来试一下吧!!

package cn.itcast.looploop;public class Test4 {public static void main(String[] args) {//循环for (int i = 1; i <= 9; i++) {  //外循环,打印九行for (int j = 1; j <= i; j++) {//i  1,2,3,....System.out.print(i + "*" + j + "=" + i * j + " ");//1*1 }                           //1*1 1*2System.out.println();       //....}}
}

 案例三(圣诞树,菱形)

需求:打印7行圣诞树

分析:我们可以先打印圣诞树的左边,然后右边,如图看成两部分

我们可以看出"*"号是规律的 1,3,5,7,9,11。空格打印6行,"*"号打印7行

代码:

package cn.itcast.looploop;public class Test6 {public static void main(String[] args) {//这是定义用来循环的变量int m = 1;  //打印*号 1 3 5 7 9 11 13int spaceCount = 6; //定义空格变量用来打印前面空格//使用 for 循环嵌套一行一行输出。最外层的 for 循环决定了三角形的行数。for (int i = 0; i < 7; i++) {//打印空格for (int j = 1; j <= spaceCount; j++) { //System.out.print(" ");}//打印*for (int j = 1; j <= m; j++) {System.out.print("*");}//换行System.out.println();m += 2;   //打印下一行的*需要加两个spaceCount--; //空格是递减的}}
}

分析:两部分

            //打印空格for (int j = 1; j <= spaceCount; j++) { //System.out.print(" ");}

这个循环是用来打印空格的,定义了一个空格变量spaceCount,来确定循环几次,空格递减。

            //打印*for (int j = 1; j <= m; j++) {System.out.print("*");

当打印一行 空格的for循环运行完,然后在这一行继续打印"*"

结果:

如果这个会打了,那么我们可以设想一下菱形怎么打

思路是一样的把,菱形分成四块

 代码如下:

package cn.itcast.array.work;public class Test10 {public static void main(String[] args) {int m = 1;int space = 6;for (int i = 0; i < 7; i++) {for (int j = space; j > 0; j--) {System.out.print(" ");}for (int j = 0; j < m; j++) {System.out.print("*");}m += 2;space--;System.out.println();}int n = 11;int space1 = 1;for (int i = 0; i < 6; i++) {for (int j = 0; j < space1; j++) {System.out.print(" ");}for (int j = 0; j < n; j++) {System.out.print("*");}n -= 2;space1++;System.out.println();}}
}

运行结果:

这篇关于java打印圣诞树(三角形)plus菱形的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/681039

相关文章

springboot rocketmq配置生产者和消息者的步骤

《springbootrocketmq配置生产者和消息者的步骤》本文介绍了如何在SpringBoot中集成RocketMQ,包括添加依赖、配置application.yml、创建生产者和消费者,并展... 目录1. 添加依赖2. 配置application.yml3. 创建生产者4. 创建消费者5. 使用在

Spring Retry 实现乐观锁重试实践记录

《SpringRetry实现乐观锁重试实践记录》本文介绍了在秒杀商品SKU表中使用乐观锁和MybatisPlus配置乐观锁的方法,并分析了测试环境和生产环境的隔离级别对乐观锁的影响,通过简单验证,... 目录一、场景分析 二、简单验证 2.1、可重复读 2.2、读已提交 三、最佳实践 3.1、配置重试模板

Spring中@Lazy注解的使用技巧与实例解析

《Spring中@Lazy注解的使用技巧与实例解析》@Lazy注解在Spring框架中用于延迟Bean的初始化,优化应用启动性能,它不仅适用于@Bean和@Component,还可以用于注入点,通过将... 目录一、@Lazy注解的作用(一)延迟Bean的初始化(二)与@Autowired结合使用二、实例解

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Java中有什么工具可以进行代码反编译详解

《Java中有什么工具可以进行代码反编译详解》:本文主要介绍Java中有什么工具可以进行代码反编译的相关资,料,包括JD-GUI、CFR、Procyon、Fernflower、Javap、Byte... 目录1.JD-GUI2.CFR3.Procyon Decompiler4.Fernflower5.Jav

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

在 Spring Boot 中使用异步线程时的 HttpServletRequest 复用问题记录

《在SpringBoot中使用异步线程时的HttpServletRequest复用问题记录》文章讨论了在SpringBoot中使用异步线程时,由于HttpServletRequest复用导致... 目录一、问题描述:异步线程操作导致请求复用时 Cookie 解析失败1. 场景背景2. 问题根源二、问题详细分

Java对象和JSON字符串之间的转换方法(全网最清晰)

《Java对象和JSON字符串之间的转换方法(全网最清晰)》:本文主要介绍如何在Java中使用Jackson库将对象转换为JSON字符串,并提供了一个简单的工具类示例,该工具类支持基本的转换功能,... 目录前言1. 引入 Jackson 依赖2. 创建 jsON 工具类3. 使用示例转换 Java 对象为

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Java中的Cursor使用详解

《Java中的Cursor使用详解》本文介绍了Java中的Cursor接口及其在大数据集处理中的优势,包括逐行读取、分页处理、流控制、动态改变查询、并发控制和减少网络流量等,感兴趣的朋友一起看看吧... 最近看代码,有一段代码涉及到Cursor,感觉写法挺有意思的。注意是Cursor,而不是Consumer