Java 用scanner类读入杨辉三角的行数并输出相应的杨辉三角,给出代码
时间: 2024-09-12 20:15:00 浏览: 34
根据输入行数,打印出杨辉三角形.docx
5星 · 资源好评率100%
在Java中,我们可以使用`Scanner`类从用户那里获取输入的行数,然后利用递归或循环来生成并打印杨辉三角。这是一个简单的示例,展示了如何使用循环实现:
```java
import java.util.Scanner;
public class PascalTriangle {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入杨辉三角的行数:");
int n = scanner.nextInt(); // 获取用户输入的行数
if (n <= 0) {
System.out.println("行数必须大于0.");
return;
}
// 打印杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(binomialCoefficient(i, j) + " ");
}
System.out.println(); // 每一行结束换行
}
scanner.close();
}
// 计算组合数(杨辉三角的每个元素)
public static int binomialCoefficient(int n, int k) {
if (k == 0 || k == n) {
return 1;
} else {
return binomialCoefficient(n - 1, k - 1) + binomialCoefficient(n - 1, k);
}
}
}
```
在这个例子中,`binomialCoefficient`函数用于计算组合数(即杨辉三角中的每个数字),然后主函数通过两层循环遍历和打印每一行。请注意,对于较大的行数,计算组合数可能会比较慢,因为它的算法基于递归,效率不高。
阅读全文