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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM