• 打印星星(倒三角,正三角,等腰三角,直角三角,菱形,空心菱形)


    正方形:5行5列

    public static void main(String[] args){
      //外层表示打印行数
      for(int i=1;i<=5;i++){
      //内层表示每行打印的个数
      for(int j=1;j<=5;j++){
        sout("*");
      }
      //打印五个就换行
      sout();
      }
    }

    直角三角形

    第一行一个星,第二行两个星,第三行三个星 ······以此确定个数与行数的关系

    public static void main(String[] args){
      //外层循环控制打印的行数
      for(int i=1;i<=5;i++){
        //内层控制每行打印的个数,个数和行数相等(即内层循环的次数和外层表示行数的变量相等)
        for(int j=1;j<=i;j++){
          sout("*");
        }
      //打印完一行换行
      sout();
      }
    }

    倒直角三角形:外层递增,内层递减;外层内层都递增;外层递减,内层递增

    外层增,内层减
    public static void main(String[] args){
      //外层表示行数
      for(int i=1;i<=5;i++){
        //内层表示每行个数
        //每行打印星星的个数控制内层循环的次数
        for(int j=5;j>=i;j--){
          sout("*");
        }
      //打完一行星星换行
      sout();
      }
    }
    
    
    外层减,内层增
    public static void main(String[] args){
      //外层表示行数
      for(int i=5;i>=1;i--){
        //内层表示每行个数
        //每行打印星星的个数控制内层循环的次数
        for(int j=1;j<=i;j++){
          sout("*");
        }
      //打完一行星星换行
      sout();
      }
    }
    
    
    内层外层都递增
    public static void main(String[] args){
      //外层表示行数
      for(int i=1;i<=5;i--){
        //内层表示每行个数
        //每行打印星星的个数控制内层循环的次数
        for(int j=1;j<=6-i;j++){
          sout("*");
        }
        //打完一行星星换行
        sout();
      }
    }
    
    
    内层外层都递减
    public static void main(String[] args){
      //外层表示行数
      for(int i=5;i>=1;i--){
        //内层表示每行个数
        //每行打印星星的个数控制内层循环的次数
        for(int j=5;j<=5+i;j++){
          sout("*");
        }
        //打完一行星星换行
        sout();
      }
    }

    等腰三角形:打印空格(空格数量递减),打印星星(星星逐行递增)

    public static void main(String[] args){
      //外层控制行数
      for(int i=1;i<=5;i++){
        //内层空格数量递减
        for(int j=5;j>=i;j--){
          sout(" ");
        }
        //内层星星数量是行数的两倍减一
        for(int k=1;k<=(2*i-1);k++){
          sout("*");
        }
      sout();
      }
    }

    菱形:要求输入菱形大小的总行数(奇数),会对应变化菱形的大小

    public static void main(String[] args){
      Scanner sc=new Scanner(System.in);
      int row;
      do{
        //偶数行或者是行数太少则继续进入循环重新输入
        System.out.println("请输入菱形的大小:");
        row=sc.nextInt();
      }while(row%2==0||row<=3)
      //计算上半部分行数
      int top=row/2+1;
      //计算下半部分行数
      int bottom=row-top;
      //打印上半部分
      for(int i=1;i<=top;i++){
        //上半部分空格数量递减
        for(int j=top;j>=i;j--){
          System.out.print(" ");
        }
        //上半部分星星递增,数量与行数的关系是2*i-1
        for(int k=1;k<=2*i-1;k++){
          System.out.print("*");
        }
        //每打完一行换行
      System.out.println();
      }
      //打印下半部分
      for(int i=1;i<=bottom;i++){
      //空格是正直角三角,行数和个数相同递增
      for(int j=1;j<=i;j++){
        System.out.print(" ");
       }
      //星星随行数增加星星个数递减
      for(int k=1;k<=row-2*i;i++){
        System.out.print("*");
      }
      //每打完一行换行
      System.out.println();
      }
    }

    空芯菱形

    public static void main(String[] args){
      Scanner sc=new Scanner(System.in);
        int row;
        do{
          //偶数行或者是行数太少则继续进入循环重新输入
          System.out.println("请输入菱形的大小:");
          row=sc.nextInt();
        }while(row%2==0||row<=3)
        //计算上半部分行数
        int top=row/2+1;
        //计算下半部分行数
        int bottom=row-top;
      //打印上半部分
      for(int i=1;i<=top;i++){
        //开头空格数量递减
        for(int j=top;j>i;j--){
          System.out.print(" ");
        }
        //打印星星部分
        for(int k=1;k<=2*i-1;k++){
          //如果是第一个和最后一个就打印星星
          if(k==1||k==2i-1){
            System.out.print("*");
          }
          //其余中间部分打印空格
          else{
            System.out.print(" ");
          }
      //打印完一行就换行
      System.out.println();
      }
    }
    
      //打印下半部分
      for(int i=1;i<bottom;i++){
        //打印空格,空格逐行增加
        for(int k=1;k<=i;k++){
          System.out.print(" ");
        }
        //打印星星
        for(int j=1;k<=row-2*i;k++){
          //如果是第一个和最后一个就打印星星
          if(k==1||k==row-2*i){
            System.out.print("*");
          }
          //其余中间部分打印空格
          else{
            System.out.print(" ");
          }
        //打印完一行就换行
        System.out.println();
        }
      }
    }
  • 相关阅读:
    php pdo备份还原数据库方法
    php抛出异常
    手机H5支持视频的比特率
    linux 安装imagick方法 php5.4以上都能用
    lnmp一键安装包 成功运行thinkphp的方法
    NAVICAT文件名目录或卷标语法不正确怎么办
    Linux下捕捉键盘事件
    linux 下shell脚本备份文件
    MQTT学习笔记
    windows生成dump文件
  • 原文地址:https://www.cnblogs.com/gfl-1112/p/12650645.html
Copyright © 2020-2023  润新知