• for循环输出菱形的形状【java】


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

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

    代码  

     1 /*
     2     *
     3    ***
     4   *****
     5  *******
     6 *********
     7  ******* 
     8   *****
     9    ***
    10     *
    11 
    12 分析:
    13     - 上层(共5层)
    14         每层构成:每层每层空格数+每层星星数
    15             第1层 -- 空格数:4 + 星星数:1
    16             第2层 -- 空格数:3 + 星星数:3
    17             第3层 -- 空格数:2 + 星星数:5
    18             第4层 -- 空格数:1 + 星星数:7
    19             第5层 -- 空格数:0 + 星星数:9
    20             
    21             分析:
    22             第1层 -- 空格数:4(= 5-1) + 星星数:1(= 2*1-1)
    23             第2层 -- 空格数:3(= 5-2) + 星星数:3(= 2*2-1)
    24             第3层 -- 空格数:2(= 5-3) + 星星数:5(= 2*3-1)
    25             第4层 -- 空格数:1(= 5-4) + 星星数:7(= 2*4-1)
    26             第5层 -- 空格数:0(= 5-5) + 星星数:9(= 2*5-1)
    27 
    28             推理:(上层共 layer 层)
    29             第i层 -- (空格数 = layer-i) + (星星数 = 2*i-1)
    30 
    31 
    32     - 下层(下层共 layer-1 层)
    33             第1层 -- 空格数:1 + 星星数:7
    34             第2层 -- 空格数:2 + 星星数:5
    35             第3层 -- 空格数:3 + 星星数:3
    36             第4层 -- 空格数:4 + 星星数:1
    37             
    38             分析:效果等效(共4层)
    39             下层的第1层对应上层的第4层 -- 空格数:1 + 星星数:7
    40             下层的第2层对应上层的第3层 -- 空格数:2 + 星星数:5
    41             下层的第3层对应上层的第2层 -- 空格数:3 + 星星数:3
    42             下层的第4层对应上层的第1层 -- 空格数:4 + 星星数:1
    43 
    44 
    45             推理:
    46             第i层 -- (空格数 = i) + (星星数 = 2*(layer-i)-1)
    47 */
    48 
    49 
    50 public class StarTree
    51 {
    52     public static void main(String[] args){
    53         int layer = 5;
    54 
    55         // 一、上层(显示 layer 行)
    56         for(int i=1;i<=layer;i++){
    57              
    58             // 1、获取空格需要显示数量
    59             int spaceNum = layer-i; 
    60             for(int j=1;j<=spaceNum;j++){  // 需要打印空格的数量
    61                 System.out.print(" ");
    62             }
    63             
    64             // 2、获取星星需要显示的数量
    65             int starNum = 2*i-1;
    66             for(int j=1;j<=starNum;j++){ // 需要打印星星的数量
    67                 System.out.print("*");
    68             }
    69             // 3、换行
    70             System.out.println();
    71         }
    72         
    73         // 二、下层(显示 layer-1 行)
    74         for(int i=1;i<layer;i++){
    75 
    76             // 1、获取空格需要显示数量
    77             int spaceNum = i;
    78             for(int j=1;j<=spaceNum;j++){
    79                 System.out.print(" ");
    80             }
    81             // 2、获取星星需要显示的数量
    82             int starNum = 2*(layer-i)-1;
    83             for(int j=1;j<=starNum;j++){
    84                 System.out.print("*");
    85             }
    86             // 3、换行
    87             System.out.println();
    88 
    89         }
    90     }
    91 }

      代码结果显示:

    个人博客: woodwhale's blog

    微信公众号:木鲸鱼 ID: mujingyu072

  • 相关阅读:
    Fiddler实现手机抓包——小白入门
    linux中的baff/cache占用大量内存,如何清理?
    禁止用su切换到root
    Cookie和Session和token
    HTTP 与HTTPS
    Tcp/Ip的分层
    IP基础知识
    计算机基础<一>
    【java基础】内部类
    【JAVA基础】Java中四种权限修饰符
  • 原文地址:https://www.cnblogs.com/mujingyu/p/7289905.html
Copyright © 2020-2023  润新知