当前位置:首页 > 后端开发 > 正文

Java编程中如何实现并输出一个等腰三角形的代码示例?

在Java中输出等腰三角形可以通过多种方法实现,以下将介绍几种常见的方法,并附上示例代码。

Java编程中如何实现并输出一个等腰三角形的代码示例? 第1张

使用嵌套循环

这种方法通过两个嵌套循环来实现,外循环控制行数,内循环控制每行输出的空格和星号。

代码示例 说明
“`java

public class IsoscelesTriangle {

public static void main(String[] args) {

int height = 5; // 三角形的高度

for (int i = 0; i < height; i++) {

// 打印空格

for (int j = 0; j < height i 1; j++) {

System.out.print(” “);

}

// 打印星号

for (int k = 0; k < 2 i + 1; k++) {

System.out.print(““);

}

System.out.println();

}

}

}

Java编程中如何实现并输出一个等腰三角形的代码示例? 第2张

Java编程中如何实现并输出一个等腰三角形的代码示例? 第3张

### 方法二:使用递归 递归方法利用函数调用的特性,每次递归调用都会输出一行,直到达到所需的高度。 | 代码示例 | 说明 | | | | | ```java public class IsoscelesTriangle { public static void main(String[] args) { int height = 5; // 三角形的高度 printTriangle(height, 1); } public static void printTriangle(int height, int row) { if (row > height) { return; } // 打印空格 for (int i = 1; i <= height row; i++) { System.out.print(" "); } // 打印星号 for (int i = 1; i <= 2 * row 1; i++) { System.out.print("*"); } System.out.println(); printTriangle(height, row + 1); } } ``` | 此代码同样输出高度为5的等腰三角形。 | ### 方法三:使用数组的打印 这种方法通过创建一个二维数组来存储星号和空格,然后逐行打印数组。 | 代码示例 | 说明 | | | | | ```java public class IsoscelesTriangle { public static void main(String[] args) { int height = 5; // 三角形的高度 char[][] triangle = new char[height][2 * height 1]; for (int i = 0; i < height; i++) { for (int j = 0; j < 2 * height 1; j++) { triangle[i][j] = ' '; } } for (int i = 0; i < height; i++) { for (int j = 0; j < 2 * height 1; j++) { if (j >= height i 1 && j <= height + i 1) { triangle[i][j] = '*'; } } } for (int i = 0; i < height; i++) { for (int j = 0; j < 2 * height 1; j++) { System.out.print(triangle[i][j]); } System.out.println(); } } } ``` | 此代码同样输出高度为5的等腰三角形。 | ### FAQs **Q1:如何输出高度为10的等腰三角形?** **A1:** 可以将示例代码中的 `height` 变量值修改为10,如下所示: ```java int height = 10; // 三角形的高度

Q2:如何输出一个倒置的等腰三角形?

A2: 可以修改示例代码中的打印逻辑,将星号和空格的位置进行交换,如下所示:

for (int i = height 1; i >= 0; i) { // 打印空格 for (int j = 0; j < height i 1; j++) { System.out.print(" "); } // 打印星号 for (int k = 0; k < 2 * i + 1; k++) { System.out.print("*"); } System.out.println(); }

0