for循环输出空心菱形的形状java

Posted 木鲸鱼的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for循环输出空心菱形的形状java相关的知识,希望对你有一定的参考价值。

使用for循环语句输出以下“空心菱形”效果:

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

 建议优先参考笔者的另一篇文章:《for循环输出菱形的形状【java】》

代码:

 1 /*
 2     *
 3    * *
 4   *   *
 5  *     *
 6 *       *
 7  *     * 
 8   *   *
 9    * *
10     *
11 
12 分析:
13 上图形似于实心菱形
14     *
15    ***
16   *****
17  *******
18 *********
19  ******* 
20   *****
21    ***
22     *
23 
24     在菱形图案基础之上,将每行的第一颗和最后一颗星星输出,其他星星使用空格输出即可。
25 */
26 
27 
28 public class StarTree
29 {
30     public static void main(String[] args){
31         int layer = 5;
32 
33         // 一、上层(显示 layer 行)
34         for(int i=1;i<=layer;i++){
35              
36             // 1、获取空格需要显示数量
37             int spaceNum = layer-i; 
38 
39             for(int j=1;j<=spaceNum;j++){  // 需要打印空格的数量
40                 System.out.print(" ");
41             }
42             
43             // 2、获取星星需要显示的数量
44             int starNum = 2*i-1;
45 
46             for(int j=1;j<=starNum;j++){ // 需要每行打印的数量
47                 if(j==1||j==starNum){    // 每行第一颗和最后一颗星星打印
48                     System.out.print("*");
49                 }else{                   // 每行非第一颗和非最后一颗星星打印成空格
50                     System.out.print(" ");
51                 }
52             }
53             // 3、换行
54             System.out.println();
55         }
56         
57         // 二、下层
58         for(int i=(layer-1);i>=1;i--){
59 
60             int sapceNum = layer-i;      // 获取到每行显示空格的数量与行数i之间的关系
61             for(int j=1;j<=sapceNum;j++){
62                 System.out.print(" ");
63             }
64 
65             int starNum = 2*i-1;         // 获取到每行显示星星的数量与行数i之间的关系
66             for(int j=1;j<=starNum;j++){
67                 if(j==1||j==starNum){    // 每行第一颗和最后一颗星星打印
68                     System.out.print("*");
69                 }else{                   // 每行非第一颗和非最后一颗星星打印成空格
70                     System.out.print(" ");
71                 }
72             }
73             System.out.println();
74         }
75     }
76 }

  代码结果显示:

 

 

以上是关于for循环输出空心菱形的形状java的主要内容,如果未能解决你的问题,请参考以下文章

for循环输出菱形的形状java

编写java程序,应用for循环打印菱形。

java 怎样写出一个菱形程序?空心和实心

PHP练习--用for循环打印空心菱形

java 打印空心菱形

for循环打印空心菱形的新方法