【Java】打印n行三角形

阅读 65

2022-04-13

Java打印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();
    }
}
//输出结果:
请输入行数:
91*2***3*****4*******5*********6***********7*************8***************9*****************

精彩评论(0)

0 0 举报