Java超细教学打印菱形

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

我们将打印这样一个菱形,首先我们先把菱形分为一下几个部分组成:

上半部分:一个倒直角三角形(这里我把空格换成了 ^ ,更方便观察) + 一个等腰三角形

^^^^*
^^^***
^^*****
^*******
*********

下半部分:一个正直角三角形  + 一个倒等腰三角形(少一行)

^*******
^^*****
^^^***
^^^^*

接下里我们开始一步一步打印这个菱形:

--------------------------------------------------------------------

---第一步,打印一个正直角三角行( * )
---第二步,打印一个倒直角三角形( ^ )
---第三步,合并两个三角形(并把 ^ 换成 空格)
---第四步,把合并之后的三角形倒转(注意少一行)
---第五步,合并一正一反两个三角形

---------------------------------------------------------------------

第一步,打印一个正直角三角行( * )

//*
//***
//*****
//*******
//*********

for(int i = 1; i <= 5; i++){ // 控制行
			
    for(int j = 1; j<= i*2 - 1; j++){ // 控制列
				
	System.out.print("*");
				
    }
			
    System.out.println();
}

第二步,打印一个倒直角三角形( ^ )

//^^^^
//^^^
//^^
//^
for(int i = 1; i <= 4; i++){
			
    for(int j = 4; j >= i; j--){

	System.out.print("^");
    }
			
    System.out.println();
}

第三步,合并两个三角形(并把 ^ 换成 空格)

//    *
//   ***
//  *****
// *******
//*********
		
for(int i = 1; i <= 5; i++){
			
    for(int j = 4; j >= i; j--){

	System.out.print(" ");
    }
			
    for(int k = 1; k <= i*2 - 1; k++){

	System.out.print("*");
    }
			
    System.out.println();
}

第四步,把合并之后的三角形倒转(注意少一行)

// *******
//  *****
//   ***
//    *
		
for(int i = 4; i >= 1; i--){
			
    for(int j = 4; j >= i; j--){
        System.out.print(" ");
    }
			
    for(int k = 1; k <= i*2 - 1; k++){
        System.out.print("*");
    }
			
    System.out.println();
}

第五步,合并一正一反两个三角形

//     *
//    ***
//   *****
//  *******
// *********
//  *******
//   *****
//    ***
//     *
		
for(int i = 1; i <= 5; i++){
			
    for(int j = 4; j >= i; j--){
        System.out.print(" ");
    }
			
    for(int k = 1; k <= i*2 - 1; k++){
        System.out.print("*");
    }
			
    System.out.println();
    }

for(int i = 4; i >= 1; i--){
			
    for(int j = 4; j >= i; j--){
        System.out.print(" ");
    }
			
    for(int k = 1; k <= i*2 - 1; k++){
        System.out.print("*");
    }
			
    System.out.println();
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

codersAllen

你的鼓励将是我最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值