• 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 }

      代码结果显示:

     

    个人博客: woodwhale's blog

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

  • 相关阅读:
    5.6 Go 常用函数
    5.5 Go defer
    5.4 Go 闭包
    5.3 Go 匿名函数
    5.2 Go 包与函数
    python 通过pytz模块进行时区的转换,获取指定时区的时间
    前端在js中获取用户所在地区的时间与时区
    Python2 指定文件编码格式需要注意的地方
    linux 使用进程管理工具 supervisor
    Python 私有变量中两个下划线 _ _item 与 一个下划线的区别 _item
  • 原文地址:https://www.cnblogs.com/mujingyu/p/7289989.html
Copyright © 2020-2023  润新知