Java-for循环打印三角形、菱形、空心菱形

本文详细介绍了使用Java编程语言打印四种不同图案的方法。包括了图案的生成逻辑、循环控制及字符输出技巧,适合初学者理解Java的基本语法和控制结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void main(String[] args) {
		
		System.out.println("==========图案一==========");
		/*	图案一:	*
		 * 			***
		 * 			*****
		 *			*******
		 *	行数:4	--->0	1	2	3
		 *	行上的星数:7	--->1	3	5	7
		 *	行上的星数=行*2+1
		 *
		 */	
		for(int i=0;i<4;i++) {
			
			for(int j=0;j<i*2+1;j++) {
				System.out.print("*");
		}			
			System.out.println();
		}
}

输出结果:
在这里插入图片描述

System.out.println("==========图案二==========");
		/*	图案二:	   *					---*
		 * 			  ***			---->	--***
		 * 			 *****					-*****
		 *			*******					*******
		 *	对于空格:
		 *	行数:4	--->0	1	2	3
		 *	行上的空格数:7	--->3	2	1	0	
		 *	行上的空格数=4-行数-1
		 *
		 *	对于星号:
		 *	行数:	4--->0	1	2	3
		 *	行上的星数:7--->1  3  5   7
		 *	行上的星数=行数*2+1
		 */	
		for(int i=0;i<4;i++) {
			//对于空格
			for(int j=0;j<3-i;j++) {
				System.out.print(" ");
			}
			for(int k=0;k<i*2+1;k++) {
				System.out.print("*");
			}
			System.out.println();
		}

输出结果:
在这里插入图片描述

System.out.println("==========图案三==========");
		/*	图案三:	   *					---*
		 * 			  ***			---->	--***
		 * 			 *****					-*****
		 *			*******					*******
		 *			 *****					-*****
		 *			  ***					--***
		 *			   *					---*
		 *对于上半部分:
		 *	
		 *	对于空格:
		 *	行数:4	--->	0	1	2	3	
		 *	行上的空格数:7	--->3	2	1	0	
		 *	行上的空格数=4-行数-1
		 *	
		 *  对于星号:
		 *	行数:	4--->0	1	2	3
		 *	行上的星数:7--->1  3  5   7
		 *	行上的星数=行数*2+1
		 *
		 *对于下半部分
		 *	对于空格:
		 *	行数:3	--->	0	1	2		
		 *	行上的空格数:3	--->1	2	3		
		 *	行上的空格数=行数+1
		 *  
		 *  对于星号:
		 *	行数:	3--->0	1	2	
		 *	行上的星数:7--->5 	3	1
		 *	行上的星数=7-行数*2-2
		 */	
		//打印上半部分图案
		for(int i =0;i<4;i++) {
			//打印空格
			for (int k=0;k<3-i;k++) {
				System.out.print(" ");
				
			}
			//打印星号
			for (int j=0;j<i*2+1;j++) {
				System.out.print("*");
			}
			System.out.println();
			
		}
		//打印下半部分图案、
		for(int i=0;i<3;i++) {
			//打印空格
			for(int k=0;k<i+1;k++) {
				System.out.print(" ");
			}
			//打印星号
			for(int j=5-i*2;j>0;j--){
				System.out.print("*");
			}
			System.out.println();

	}

输出结果:
在这里插入图片描述

System.out.println("==========图案四==========");
		/*	图案四:	   *					---*
		 * 			  * *			---->	--*-*
		 * 			 *   *					-*---*
		 *			*     *					*-----*
		 *			 *   *					-*---*
		 *			  * *					--*-*
		 *			   *					---*
		*对于上半部分:
		 *	
		 *	对于空格:
		 *	行数:4	--->	0	1	2	3	
		 *	行上的空格数:7	--->3	2	1	0	
		 *	行上的空格数=4-行数-1
		 *	
		 *  对于星号:
		 *	行数:	4--->0	1	2	3
		 *	行上的星数和内层空格:7--->1  3  5   7
		 *	行上的星数和内层空格=行数*2+1
		 *	星数和内层空格循环开始和结束时判定为星其余为空格
		 *
		 *对于下半部分
		 *	对于空格:
		 *	行数:3	--->	0	1	2		
		 *	行上的空格数:3	--->1	2	3		
		 *	行上的空格数=行数+1
		 *  
		 *  对于星号:
		 *	行数:	3--->0	1	2	
		 *	行上的星数和内层空格:7--->5 	3	1
		 *	行上的星数和内层空格=7-行数*2-2
		 *	星数和内层空格循环开始和结束时判定为星其余为空格
		 */	
		//打印上半部分图案
		for (int i=0;i<4;i++) {
			//打印外层空格
			for(int k=0;k<3-i;k++) {
				System.out.print(" ");
			}
			for(int j=0;j<i*2+1;j++) {
				if (j==0||j==i*2) {
					//打印星号
					System.out.print("*");
				}else {
					//打印内层空格
					System.out.print(" ");
				}
			}
			System.out.println();
		}
		//打印下半部分图案
		for(int i=0;i<3;i++) {
			//打印外层空格
			for(int k=0;k<i+1;k++) {
				System.out.print(" ");
			}
			for(int j=0;j<5-i*2;j++) {
				if(j==0 || j==4-i*2) {
					System.out.print("*");
				}else {
					System.out.print(" ");
				}
			}
			System.out.println();
			
			
		}

输出结果:
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值