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