前几天上职业培训课,有这样一道题:java 编写程序用 * 号输出如下等腰梯形:

实现效果:

   *
  ***
 *****
*******
 *****
  ***
   *

有一种实现方式非常简单:

代码:

public static void main(String[] args) {
    int j, op = 1;
    for (int i = 1; i <= 4 && i >= 1; ) {
        for (j = 1; j <= 4 - i; j++) System.out.print(" ");
        for (j = 1; j <= 2 * i - 1; j++) System.out.print("*"); // * 号打印奇数个
        System.out.println(); // 打印一行结束换行
        if (i == 4) op = -1;
        i += op;
    }
}

解析:

整个图形可以分成上下两块。前面 4 行空格数递减,* 号数递增;后面 3 行空格数递增,* 号数递减。