【Java】打印n行三角形

打印n行三角形

思路:

将这个图形看成四个直角三角形;

public static void main(String[] args) {
    for (int i = 1; i <= 5; i++) {  //需要5行,所以循环5次,第一个for循环充当行数
        System.out.print("第" + i + "行");
        //1.输出第一个用" "组成的直角三角形,第一行5个,第二行4个,以此类推
        for (int j = 5; j >= i; j--) {
            System.out.print(" ");
        }
        //2.输出第二个用"*"组成的直角三角形,第一行1个,第二行2个,以此类推
        for(int j = 1; j <= i; j++){
            System.out.print("*");
        }
        //3.输出第三个用"*"组成的直角三角形,第一行1-1个,第二行2-1个,以此类推
        for(int j = 1; j < i; j++){
            System.out.print("*");
        }
        System.out.println();
    }
}

//输出结果:
第1行     *
第2行    ***
第3行   *****
第4行  *******
第5行 *********

修改成n行三角形:

public static void main(String[] args) {
    System.out.println("请输入行数:");
    Scanner scanner = new Scanner(System.in);
    int num = scanner.nextInt();
    for (int i = 1; i <= num; i++) {  //需要5行,所以循环5次,第一个for循环充当行数
        System.out.print("第" + i + "行");
        //1.输出第一个用" "组成的直角三角形,第一行5个,第二行4个,以此类推
        for (int j = num; j >= i; j--) {
            System.out.print(" ");
        }
        //2.输出第二个用"*"组成的直角三角形,第一行1个,第二行2个,以此类推
        for(int j = 1; j <= i; j++){
            System.out.print("*");
        }
        //3.输出第三个用"*"组成的直角三角形,第一行1-1个,第二行2-1个,以此类推
        for(int j = 1; j < i; j++){
            System.out.print("*");
        }
        System.out.println();
    }
}
//输出结果:
请输入行数:
9
第1行         *
第2行        ***
第3行       *****
第4行      *******
第5行     *********
第6行    ***********
第7行   *************
第8行  ***************
第9行 *****************
posted @ 2022-04-10 11:03  AmazingMing  阅读(216)  评论(0)    收藏  举报