从键盘上输入一个正整数n,输出三角形的n行图案。 要求使用while语句实现。
时间: 2024-10-08 17:02:41 浏览: 46
要使用while循环输出杨辉三角形的n行,你可以按照以下步骤编写Java程序:
```java
import java.util.Scanner;
public class PascalTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入正整数n:");
int n = scanner.nextInt(); // 获取用户输入
if (n <= 0) { // 检查输入是否合法
throw new IllegalArgumentException("输入必须是正整数");
}
int[][] triangle = new int[n][];
triangle[0] = new int[]{1}; // 第一行只有一个1
int currentRow = 1;
while (currentRow < n) {
triangle[currentRow] = new int[currentRow + 1]; // 新建当前行
triangle[currentRow][0] = triangle[currentRow - 1][currentRow - 1]; // 右边元素
for (int i = 1; i < currentRow; i++) {
triangle[currentRow][i] = triangle[currentRow - 1][i - 1] + triangle[currentRow - 1][i]; // 其他元素计算
}
currentRow++; // 进入下一行
for (int num : triangle[currentRow - 1]) {
System.out.print(num + " "); // 打印当前行
}
System.out.println(); // 换行
}
scanner.close();
}
}
```
这段代码首先读取用户的输入,然后通过while循环构建杨辉三角形。每次循环都会添加一个新的行到`triangle`数组中,并计算并打印当前行的每个元素。
阅读全文