拆分

  • 先实现直角三角形
  • 实现普通的等腰三角形
  • 把等腰三角中的符号转换为数字

实现直角三角形

1
3
5
7
9

确定每一行的符号

public class sanjiao {

    public static void main(String[] args) {

        // 输出一个九行的直角三角形
        int line_num = 9;
        int char_num = 1;

        // 实现直角三角形
        // 1,3,5 7 9
        for (int i = 1; i <= line_num; i++) {
            System.out.println(i);
            System.out.println("需要打印的符号是" + char_num);
            // 完成了符号的打印后,加二
            char_num += 2;

        }

    }
}

确定每一行的输出内容

开发了一个功能。n为几,输出一行几个的符号

        for (int i = 0; i < n; i++) {
            System.out.print("*");
        }

实现一个直角三角形,六行

public class sanjiao {

    public static void main(String[] args) {

        // 输出一个六行的直角三角形
        int line_num = 6;
        int char_num = 1;

        // 实现直角三角形
        // 1,3,5 7 9
        for (int i = 1; i <= line_num; i++) {

            for (int j = 0; j < char_num; j++) {
                System.out.print("*");
            }
            System.out.println();
            // 完成了符号的打印后,加二
            char_num += 2;

        }

    }
}

实现等腰三角形

public class sanjiao {

    public static void main(String[] args) {

        // 输出一个六行的直角三角形
        int line_num = 5;  // 总行数
        int char_num = 1;  // 符号数量
        int space_num; // 空格数量

        // 实现直角三角形
        // 1,3,5 7 9
        for (int row_num = 1; row_num <= line_num; row_num++) {

            // 输出空格
            space_num = line_num - row_num;
            for (int n = 0; n < space_num; n++) {
                System.out.print(" ");
            }


            // 输出符号
            for (int j = 0; j < char_num; j++) {
                System.out.print("*");
            }
            System.out.println();
            // 完成了符号的打印后,加二
            char_num += 2;

        }

    }
}

最终形态

public class sanjiao {

    public static void main(String[] args) {

        // 输出一个六行的直角三角形
        int line_num = 9;  // 总行数
        int char_num = 1;  // 符号数量
        int space_num; // 空格数量

        // 实现直角三角形
        // 1,3,5 7 9
        for (int row_num = 1; row_num <= line_num; row_num++) {

            // 输出空格
            space_num = line_num - row_num;
            for (int n = 0; n < space_num; n++) {
                System.out.print(" ");
            }
            
            // 前一部分输出12345
            for (int p = 1; p <= row_num; p++) {
                System.out.print(p);
            }
            // 前一部分输出12345
            for (int q = row_num - 1; q >= 1; q--) {
                System.out.print(q);
            }
            System.out.println();

            // 完成了符号的打印后,加二
            char_num += 2;

        }

    }
}