利用for循环打印图形

利用for循环打印图形

利用for循环打印图形时,我们需要记住外层循环列,内层循环行,然后们需要做的不外乎是找到它们循环的规律罢了。

打印矩形图形

打印:

*****
*****
*****
*****

此图形是一个4行5列的矩形,比较简单

for(int i=1;i<=4;i++){      //定义4行
   for(int j=1;j<=5;j++){      //定义5列
   	System.out.print(“* ”);  
 }
       System.out.println();
}

打印三角形

   *
  * *
 * * *
* * * *

其实这个三角形左边的空格是有规律的,现在我们把那些空格换成1

111*
11* *
1* * *
* * * *

所以可将图形拆解成两部分,一个以3,2,1,0的次序减少。一个以1,2,3,4的次序增加。

for(int i =1;i<=4;i++){    //此三角形外部一共四列
   //打印空格
   for(int j=1;j<=4-i;j++){ //利用i使j每次打印的次数减少1
   	System.out.print(" ");
   }
   //打印三角形
   for(int m =1;m<=i;m++){   //利用i控制m使其每次打印增加1
   	System.out.print("* ");
   }
   System.out.println();
	}

在这里插入图片描述

打印菱形

   *                    111*                  
  * *                   11* *
 * * *                  1* * *
* * * *         =       * * * *
 * * *                  1* * *
  * *                   11* *
   *                    111*  

和打印三角形相同你只需要将其分块打印即可

//打印上面的上面的三角形
for(int i =1;i <=4;i++){
			for(int q=1;q<5-i;q=q+1){
				System.out.print(" ");
			}
			for(int j =1;j<=i;j=j+1){
			System.out.print("* ");
			}
			System.out.println();
		}
		//打印下面的倒三角形
		for(int i =1;i <=3;i++){
			for(int q=1;q<=i;q=q+1){
				System.out.print(" ");
			}
			for(int j =3;j>=i;j=j-1){
			   System.out.print("* ");
			}
			System.out.println();
		}

在这里插入图片描述

打印空心菱形

   *                    111*                  
  * *                   11* *
 *   *                  1* 1 *
*     *         =       * 1 1 *
 *   *                  1* 1 *
  * *                   11* *
   *                    111*  

空心菱形和普通菱形最大的差别在于,一些特殊的地方把*变成空格就行即加入判断流程

//打印上半部分三角形
for(int i =1;i <=4;i++){
			for(int q=1;q<5-i;q=q+1){
				System.out.print(" ");
			}
			for(int j =1;j<=i;j=j+1){
			//分别在第3行的第2个,第4行的第2个,第3个变空格
				if(i==3&&j==2){
					System.out.print("  ");
				}else if(i==4&&j ==2){
					System.out.print("  ");
				}else if(i ==4&&j==3){
					System.out.print("  ");
				}
				else{
			System.out.print("* ");
				}
			}
			System.out.println();
			//s=s-1;
		}
		//打印下半部分三角形
		for(int i =1;i <=3;i++){
			for(int q=1;q<=i;q=q+1){
				System.out.print(" ");
			}
			for(int j =3;j>=i;j=j-1){
			//把下半部分三角形的第1行的第2个变空格
				if(i==1&&j==2){
					System.out.print("  ");
				}else{
					System.out.print("* ");
				}
			}
			System.out.println();
		}

如果觉得代码有些地方复杂,你可以做出优化,比如在打印菱形的时候,你可以将其分为图像部分和空格部分两个部分去打印。利用循环打印图像虽然简单,但是也很有意思,你有可以自己设计图像去打印。

  • 24
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值