用Java语言用scanner类读入杨辉三角的行数并输出相应的杨辉三角,利用数组,给出代码
时间: 2024-09-12 09:15:42 浏览: 49
在Java中,我们可以使用Scanner类来读取用户输入的杨辉三角行数,然后通过动态创建二维数组来构建并打印出对应的杨辉三角。以下是一个简单的示例代码:
```java
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数:");
int rows = scanner.nextInt(); // 读入行数
if (rows <= 0) {
System.out.println("行数必须大于0,请重新输入。");
return;
}
int[][] triangle = new int[rows][];
for (int i = 0; i < rows; i++) {
triangle[i] = new int[i + 1]; // 初始化行数组长度为i+1
triangle[i][0] = triangle[i][i] = 1; // 杨辉三角第一行和对角线元素初始化为1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 计算中间元素
}
printRow(triangle[i]); // 打印当前行
}
scanner.close();
}
private static void printRow(int[] row) {
for (int num : row) {
System.out.print(num + " ");
}
System.out.println(); // 换行
}
}
```
在这个代码中,我们首先读入行数,然后根据这个数创建对应的二维数组。接着计算每一行的数值,并通过`printRow`函数逐行打印出来。注意,杨辉三角的构建遵循递推公式。
阅读全文