java数组杨辉三角
时间: 2024-12-30 19:32:10 浏览: 9
### 实现杨辉三角的Java代码
为了实现生成杨辉三角的功能,在Java中可以采用多种方法。这里提供一种基于数组的方式来构建并展示杨辉三角。
#### 使用二维数组存储杨辉三角
通过创建一个二维整型数组来保存每一行的数据,该方法直观易懂。下面是一个具体的例子:
```java
public class YangHuiTriangle {
/// 生成指定行数的杨辉三角,并打印出来
public static void generateYangHuiTriangle(int numRows) {
if (numRows <= 0) return;
// 创建一个二维数组用于存放杨辉三角中的数值
int[][] arrYanghui = new int[numRows][];
for (int i = 0; i < numRows; ++i) {
// 初始化当前行为长度为(i+1)的一维数组
arrYanghui[i] = new int[i + 1];
// 设置每行的第一个和最后一个元素都为1
arrYanghui[i][0] = arrYanghui[i][i] = 1;
// 计算中间位置的值(当存在时)
for (int j = 1; j < i; ++j){
arrYanghui[i][j] = arrYanghui[i - 1][j - 1] + arrYanghui[i - 1][j];
}
// 打印当前行的内容
for (int num : arrYanghui[i]){
System.out.print(num + " ");
}
System.out.println();
}
}
/// 测试函数入口
public static void main(String[] args) {
java.util.Scanner scanner = new java.util.Scanner(System.in);
System.out.print("请输入杨辉三角的行数: ");
int numRows = scanner.nextInt();
scanner.close();
generateYangHuiTriangle(numRows)[^1];
}
}
```
这段代码首先定义了一个`generateYangHuiTriangle`静态方法用来生成并显示特定数量级别的杨辉三角结构[^4]。此方法接收参数`numRows`表示要生成的最大层数。内部逻辑遵循了典型的动态规划思路:对于任意一层内的非边界节点,其值等于上一层相邻两个节点之和;而对于边界的处理,则简单地将其设为1即可[^3]。
阅读全文