//实现空心等腰三角形

//开始很浪费时间,结果我想通了,用空格输出倒立直角三角形,用*输出等腰三角形,在输出等腰三角形的时候加一个判断,如果是等腰三角形的第一个位置或是最后一个位置,输出*号,否则输出空格

import java.util.Scanner;
public class Test {
 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);
  System.out.println("请输入三角形的行数");
  int num = input.nextInt();//从键盘接收num的值
  for(int i=1;i<=num;i++){//控制行数
   for(int j=1;j<=num-i;j++){//用空格输出一个倒立的直角三角形
    System.out.print(" ");
   }
   if(i!=num){//如果行数i不等于输入行数的值
    for(int k=1;k<=2*i-1;k++){//输出等腰三角形
     if(k==1||k==2*i-1){//如果是等腰三角形的第一个或最后一个,则输出*
      System.out.print("*");
     }
     else {System.out.print(" ");//否则,输出空格
     }
    }
   }
   else {//如果i==num,输出最后一行,按等腰的输出为2*i-1
    for(int k=1;k<=2*i-1;k++){
    if(k%2!=0){//控制输出最后一行的时候更加美观
    System.out.print("*");}
     else{
      System.out.print(" ");
     }    }
   }
   System.out.println();
  }
 }

}

程序截图


图片