|
# 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` 变量的值来改变三角形的大小。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|