用嵌套循环与二维数组写出杨辉三角
时间: 2025-01-08 12:31:30 浏览: 1
### 使用嵌套循环和二维数组实现杨辉三角
为了创建一个使用嵌套循环和二维数组来表示杨辉三角的 Java 程序,程序首先定义了一个适当大小的二维数组用于存储每一层的数据。对于每行中的元素数量随行号增加而变化的情况,通过动态分配内存给每一行以适应不同长度的需求[^1]。
下面是一个具体的例子展示如何构建这样的结构:
```java
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 定义要打印的行数
// 创建并初始化二维数组
int[][] yanghui = new int[numRows][];
for (int i = 0; i < numRows; ++i){
yanghui[i] = new int[i + 1]; // 动态设置当前行的列数
// 设置首尾两个位置上的值为1
yanghui[i][0] = 1;
if(i != 0){
yanghui[i][i] = 1;
}
// 计算中间部分的数值
for(int j = 1; j < i ;++j){
yanghui[i][j] = yanghui[i-1][j-1]+yanghui[i-1][j];
}
}
// 打印结果
for (int i = 0; i < numRows; ++i){
for (int k = 0; k < numRows-i-1; ++k){
System.out.print(" "); // 对齐显示效果更好看
}
for (int j = 0; j <= i; ++j){
System.out.printf("%4d", yanghui[i][j]);
}
System.out.println();
}
}
}
```
这段代码实现了如下功能:
- 初始化一个指定行数 `numRows` 的二维整型数组 `yanghui`。
- 外部for循环遍历各行,并根据行索引调整内部一维数组的尺寸。
- 内部第一个for循环负责处理非边界情况下的单元格填充逻辑,即除开最左边和最右边的位置之外的所有其他位置。
- 最后的双重for循环用来格式化输出整个杨辉三角形到控制台窗口中[^2]。
阅读全文