import java.util.Scanner;
public class TestA {
public static void main(String[] args) {
// m 是指上半部分倒三角形去掉下顶点后的行数
System.out.print("输入m的值:");
int m = scanner.nextInt();
for (int i = 0; i <= m * 2; i++) {// 打印的总行数 m * 2
// 以if-else来控制什么时候循环哪一部分;
if (i < m) { // 此时 i = 0; 上半部分循环次数为 m; 总循环次数为m * 2;
// 上半部分将不打印下顶点,其由下半部分打印
// 如果 i < m,则循环上半部分,打印上半部分倒三角形
for (int j = 0; j <= i; j++) {// 将倒三角形左边空白以打印正直角三角形的方式使用空格填充
System.out.print(" ");
}
// 将倒三角形分成左右两部分,下顶点由下半部分打印
for (int j = m; j > i; j--) {// 倒三角形左半部分,即为打印倒直角三角形,每行比上一行少一
System.out.print("* ");
}
for (int j = m; j >= i; j--) {// 倒三角形右半部分,同样为打印倒直角三角形,比倒三角形左半部分多一次打印
System.out.print("* ");
}
System.out.println();// 完成一行打印后换行
} else {// 此时 i = m; 下半部分循环次数为 m + 1; 总循环次数为m * 2;
// 如果 i >= m,则循环下半部分,打印下半部分正三角形
// 将i看作0,将 m * 2看作m
for (int j = m * 2; j >= i; j--) {// 将三角形左边空白以打印倒直角三角形的方式使用空格填充
System.out.print(" ");
}
for (int j = m * 2 - i; j <= i; j++) {// 打印正三角形,每行比上一行多二
System.out.print("* ");
}
System.out.println();// 完成一行打印后换行
}
}
System.out.println("============================================");
}
static Scanner scanner = new Scanner(System.in);
}