1 //解法一
2 public static void main(String[] args) {
3 Scanner input = new Scanner(System.in);
4 System.out.println("请输入行高:");
5 int n = input.nextInt();
6 int i, j;// i----> 行;j---->每一行的个数;
7 for (i = 1; i <= n; i++) {// n--->总行数
8 for (j = 1; j <= 2 * n - 1; j++) {
9 // 矩形中心对称图形
10 // j=(2n-1)/2---->确定近似中心位置j--->=n,寻找*与这个位置关系。
11 // n+i-1-----> 得出第二个 * .j的位置 ;
12 // 同理----->j=n-i+1 确定前面第一个 * j的位置;
13 if ((j == n - i + 1) || (j == n - 1 + i) || (i == n))
14 System.out.print('*');
15 else
16 System.out.print(' ');
17 }
18 System.out.println();
19 }
20 }
//解法二
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("请输入你想要的高: ");
int n = in.nextInt();
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= n - i; j++) {
// 先输出左边空白直角三角形
System.out.print(" ");
}
for (int m = 1; m <= 2 * i - 1; m++) {
//输出中间三角形
if (m == 1 || m == 2 * i - 1 || i == n)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}