java如何打印以组成的三角形

java如何打印以组成的三角形

作者:Joshua Lee发布时间:2026-02-10阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何用Java代码打印一个由星号组成的三角形?

我想了解如何使用Java编写程序,打印一个由星号(*)组成的三角形图案,可以提供示例代码吗?

A

使用Java循环打印星号三角形的示例

可以通过嵌套循环来实现打印星号三角形。外层循环控制行数,内层循环控制每行星号的数量。例如,打印一个右角直角三角形:

public class Triangle {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; i++) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

运行后会打印一个由星号组成的直角三角形。

Q
怎样打印等边三角形而不是直角三角形?

在Java中,如何通过打印空格和星号的组合,来实现一个等边三角形的图案?

A

使用空格和星号实现等边三角形打印

打印等边三角形需要控制每行的空格数量和星号数量。每行先打印适量的空格,再打印递增的星号,如下代码示例:

public class EquilateralTriangle {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = 1; i <= rows; 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
有没有简洁方法打印反向三角形?

如果想打印一个由星号组成的倒三角形,如何修改Java程序实现?

A

修改循环控制条件打印倒三角形

倒三角形和正三角形逻辑相似,但行数与星号数量递减。示例如下:

public class InvertedTriangle {
    public static void main(String[] args) {
        int rows = 5;
        for (int i = rows; i >= 1; i--) {
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

该程序会打印一个从5个星号开始逐行递减的倒三角形。