java如何输出一个倒三角

java如何输出一个倒三角

作者:Elara发布时间:2026-02-11阅读时长:0 分钟阅读次数:4

用户关注问题

Q
Java 中怎么打印倒三角形图案?

我想用 Java 程序输出一个倒三角形的图案,具体应该怎么写代码实现?

A

使用循环结构打印倒三角形

可以通过嵌套循环来实现倒三角形的打印。外层循环控制行数,从最大宽度开始递减,内层循环负责打印空格和星号。具体代码示例:

int rows = 5;
for (int i = rows; i >= 1; i--) {
    for (int j = 1; j <= rows - i; j++) {
        System.out.print(" ");
    }
    for (int k = 1; k <= 2 * i - 1; k++) {
        System.out.print("*");
    }
    System.out.println();
}
Q
打印倒三角形时如何控制空格和星号的数量?

输出倒三角形需要调整空格和星号数量,怎样确定每行分别该打印多少?

A

计算每行空格和星号的规则

倒三角形中,空格数逐行递增,星号数逐行递减,具体关系是:

  • 空格数为总行数减去当前行数
  • 星号数为 2 * 当前行数减 1
    利用这两个计算规则,可以在循环中正确打印出格式化的倒三角形。
Q
Java打印倒三角形的代码能否扩展到不同大小?

如果想让用户输入倒三角形的大小,程序该如何修改?

A

动态调整倒三角大小的实现方法

可以使用 Scanner 类接收用户输入的行数,将其赋值给控制行数的变量。程序中的循环结构不需要改变,只需将固定行数替换为这个变量,即可打印出相应大小的倒三角。示例代码:

import java.util.Scanner;

Scanner scanner = new Scanner(System.in);
System.out.print("请输入倒三角的行数:");
int rows = scanner.nextInt();
for (int i = rows; i >= 1; i--) {
    for (int j = 1; j <= rows - i; j++) {
        System.out.print(" ");
    }
    for (int k = 1; k <= 2 * i - 1; k++) {
        System.out.print("*");
    }
    System.out.println();
}
scanner.close();