找回密码
 立即注册
搜索
查看: 39|回复: 0

用Java语言实现list存储后输出*等腰三角形(正、倒、正加倒)

[复制链接]

508

主题

24

回帖

1673

积分

金牌会员

积分
1673

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

发表于 2025-5-28 20:43:03 | 显示全部楼层 |阅读模式
# Java实现等腰三角形输出

以下是使用Java实现正等腰三角形、倒等腰三角形以及正加倒等腰三角形的代码:

```java
import java.util.ArrayList;
import java.util.List;

public class IsoscelesTriangle {
    public static void main(String[] args) {
        int height = 5; // 三角形的高度

        // 正等腰三角形
        List<String> normalTriangle = generateNormalTriangle(height);
        System.out.println("正等腰三角形:");
        printTriangle(normalTriangle);

        // 倒等腰三角形
        List<String> invertedTriangle = generateInvertedTriangle(height);
        System.out.println("\n倒等腰三角形:");
        printTriangle(invertedTriangle);

        // 正加倒等腰三角形
        List<String> combinedTriangle = combineTriangles(height);
        System.out.println("\n正加倒等腰三角形:");
        printTriangle(combinedTriangle);
    }

    // 生成正等腰三角形
    private static List<String> generateNormalTriangle(int height) {
        List<String> triangle = new ArrayList<>();
        for (int i = 1; i <= height; i++) {
            StringBuilder line = new StringBuilder();
            // 添加空格
            for (int j = 0; j < height - i; j++) {
                line.append(" ");
            }
            // 添加星号
            for (int k = 0; k < 2 * i - 1; k++) {
                line.append("*");
            }
            triangle.add(line.toString());
        }
        return triangle;
    }

    // 生成倒等腰三角形
    private static List<String> generateInvertedTriangle(int height) {
        List<String> triangle = new ArrayList<>();
        for (int i = height; i >= 1; i--) {
            StringBuilder line = new StringBuilder();
            // 添加空格
            for (int j = 0; j < height - i; j++) {
                line.append(" ");
            }
            // 添加星号
            for (int k = 0; k < 2 * i - 1; k++) {
                line.append("*");
            }
            triangle.add(line.toString());
        }
        return triangle;
    }

    // 生成正加倒等腰三角形
    private static List<String> combineTriangles(int height) {
        List<String> combined = new ArrayList<>();
        combined.addAll(generateNormalTriangle(height));
        combined.addAll(generateInvertedTriangle(height));
        return combined;
    }

    // 打印三角形
    private static void printTriangle(List<String> triangle) {
        for (String line : triangle) {
            System.out.println(line);
        }
    }
}
```

## 代码说明

1. **正等腰三角形**:
   - 从上到下,每一行的星号数量递增(1, 3, 5,...)
   - 每一行前面的空格数量递减

2. **倒等腰三角形**:
   - 从上到下,每一行的星号数量递减
   - 每一行前面的空格数量递增

3. **正加倒等腰三角形**:
   - 将正三角形和倒三角形拼接在一起

4. **参数**:
   - `height` 变量控制三角形的高度
   - 所有三角形都存储在 `List<String>` 中,最后统一输出

## 输出示例(高度为5时)

```
正等腰三角形:
    *
   ***
  *****
*******
*********

倒等腰三角形:
*********
*******
  *****
   ***
    *

正加倒等腰三角形:
    *
   ***
  *****
*******
*********
*********
*******
  *****
   ***
    *
```

您可以通过修改 `height` 变量的值来改变三角形的大小。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|泥耶论坛

GMT+8, 2025-7-1 22:31 , Processed in 0.117453 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表