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

正方形: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();
    }
  }
}

原文地址:https://www.cnblogs.com/gfl-1112/p/12650645.html

时间: 2024-09-30 21:40:41

打印星星(倒三角,正三角,等腰三角,直角三角,菱形,空心菱形)的相关文章

JS控制台打印星星,总有你要的那一款~呐~给你小心心哦~~~?

用JS语句,在控制台中打印星星,你要的是哪一款呢~来认领吧~ 1.左直角星星 效果: 代码: let readline=require("readline-sync"); console.log("请输入你想要的星星行数:"); let row=parseInt(readline.question("")); //左直角三角形 let star1=""; console.log("你要的"+row+&quo

java初学打印星星以及九九乘法表

Java中打印星星,就是为了让初学者熟悉和掌握循环的使用方法: 给定一个图形如: * *** ***** ******* 第一种方式:由循环输出各个部分,再结合起来 for(int i=1;i<=4;i++){< p=""> for(int j=1;j<=7-i;j++){< p=""> system.out.print(" "); } for(int j=1;j<=2*i-1;j++){< p=&

JavaScript--循环--打印星星和99乘法表

1.打印99乘法表 function chengfa(){ //反复调用公式 for(var r=1;r<=9;r++){ for(var i=1,str="";i<=r;i++){ str=str+(i+"x"+r+"="+i*r+"\t"); } console.log(str); } } chengfa(); 2.打印星星 function leftStar(l){ for(var r=1;r<=l;r

C语言---打印空心菱形

首先找出上尖三角形的空格和*之间的规律,利用for循环的嵌套来输出上尖三角形,if是用来判断是否输出到最后一个*号,如果是就换行. int n = 4; for(int i = 1 ; i <= n ; i++){ for(int j = n - i ; j > 0 ; j-- ){ // n - 1 为每一行需要输出的空格数量 printf(" "); } for(int x = 1 ; x <= 1+(2*(i-1)) ; x++) //1+(2*(i-1)) 为

Javascript打印金字塔,倒立金字塔,空心金字塔,菱形,空心菱形等

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>金字塔-菱形-空心</title> <script> var n=window.prompt("请输入行数"); /* 右半边 星号 * 1 ** 2 *** 3 **** 4 第i行,空格无,星号i */ document.write("正右半边<

使用for循环打印矩形和三角形、菱形、空心菱形

打印矩形 **************************************************************************************************** public class Demo3_712 { public static void main(String args[]){ for(int i=1;i<=10;i++){ //控制行 for(int j=1;j<=10;j++){ //控制列 System.out.print(&

打印出空心菱形

/*打印出空心菱形.        *      *  *    *      *  *          * *              * *            *   *         *     *     *         **/ #include <stdio.h> void main(){     int i,j;      for(i = 0; i < 5; i++)      {           for(j = 0; j < 4 - i; j++)

Java基础知识强化07:打印出空心菱形

1.如图打印出空心菱形: 2.下面是逻辑实现代码: 1 package himi.hebao04; 2 3 import java.util.Scanner; 4 5 public class TestDemo08 { 6 public static void main(String[] args) { 7 int length = 1;// 存储菱形的边长的变量 8 Scanner sc = new Scanner(System.in);// 输入数据的扫描对象 9 System.out.pr

c语言打印空心菱形

***算法:把菱形的中心看成坐标的原点(0,0),由此可以知道,如果|x| + |y| <= n;则打印输出"*"号,否则打印输出" " int mai(){ int n; printf("请输入来那个菱形边长:"); scanf("%d",&n); //打印实心菱形 for (int x = -(n-1); x <= n-1; x++){ for (int y = -(n-1); y <= n-1;