可以使用循环而不是递归来打印吗?
时间: 2024-11-30 09:21:34 浏览: 3
实现不用递归来访问多级目录的所有文件 并用一个输入的文件名称来判断是否包含输入的文件名称并打印文件夹名称和绝对路径
当然可以。使用循环打印杨辉三角不仅更易于理解和维护,而且在处理大规模数据时也更为高效。以下是使用循环实现的简单版本:
```java
public class PascalTriangle {
public static void printPascalTriangle(int n) {
int[][] triangle = new int[n][n];
// 初始化第一行和第一列
for (int i = 0; i < n; i++) {
triangle[i][0] = triangle[0][i] = 1;
}
// 使用嵌套循环填充三角形
for (int row = 1; row < n; row++) {
for (int col = 1; col < row; col++) {
triangle[row][col] = triangle[row - 1][col - 1] + triangle[row - 1][col];
}
}
// 打印结果
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int rows = 5;
printPascalTriangle(rows);
}
}
```
这段代码首先创建一个二维数组来存储每个位置的数字,然后通过两层循环计算和更新数组元素,最后按照行打印出来。
阅读全文