【详解】使用Java解决 - 打印出杨辉三角形
【摘要】 使用Java解决 - 打印出杨辉三角形前言杨辉三角形是一个非常经典的数学图形,它在组合数学中有着重要的地位。每个数是它左上方和右上方的数的和(除了边界上的数)。本文将通过Java语言实现一个简单的程序来打印出10行的杨辉三角形。杨辉三角形的定义杨辉三角形的特点:每一行的第一个和最后一个数字都是1。从第三行开始,每个数字等于上一行的两个相邻数字之和。实现思路创建一个二维数组来存储杨辉三角形的值...
使用Java解决 - 打印出杨辉三角形
前言
杨辉三角形是一个非常经典的数学图形,它在组合数学中有着重要的地位。每个数是它左上方和右上方的数的和(除了边界上的数)。本文将通过Java语言实现一个简单的程序来打印出10行的杨辉三角形。
杨辉三角形的定义
杨辉三角形的特点:
- 每一行的第一个和最后一个数字都是1。
- 从第三行开始,每个数字等于上一行的两个相邻数字之和。
实现思路
- 创建一个二维数组来存储杨辉三角形的值。
- 初始化第一列和对角线上的元素为1。
- 根据杨辉三角形的规则填充其他位置的值。
- 打印二维数组中的值,形成杨辉三角形。
Java代码实现
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 定义杨辉三角形的行数
printYangHuiTriangle(numRows);
}
public static void printYangHuiTriangle(int numRows) {
int[][] triangle = new int[numRows][numRows];
// 填充杨辉三角形
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一个元素
triangle[i][i] = 1; // 每一行的最后一个元素
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印杨辉三角形
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
}
运行结果
运行上述Java程序,将得到以下输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

杨辉三角形是一个经典的数学结构,每一行的数字都是上一行相邻两个数字之和。下面是一个使用Java编写的示例代码,用于打印出10行的杨辉三角形:
public class YangHuiTriangle {
public static void main(String[] args) {
int rows = 10; // 打印10行
printYangHuiTriangle(rows);
}
public static void printYangHuiTriangle(int rows) {
// 创建一个二维数组来存储杨辉三角形的值
int[][] triangle = new int[rows][rows];
// 填充杨辉三角形的值
for (int i = 0; i < rows; i++) {
triangle[i][0] = 1; // 每一行的第一个元素为1
triangle[i][i] = 1; // 每一行的最后一个元素为1
// 计算中间的值
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印杨辉三角形
for (int i = 0; i < rows; i++) {
// 打印空格以对齐三角形
for (int k = 0; k < rows - i - 1; k++) {
System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
System.out.printf("%5d", triangle[i][j]);
}
System.out.println();
}
}
}
代码解释:
- 定义主类和主方法:
YangHuiTriangle 类包含 main 方法,作为程序的入口。 - 定义打印方法:
printYangHuiTriangle 方法用于生成并打印杨辉三角形。 - 创建二维数组:
triangle 数组用于存储杨辉三角形的值。 - 填充数组:
- 每一行的第一个和最后一个元素设置为1。
- 中间的元素通过上一行的相邻两个元素相加得到。
- 打印数组:
- 使用嵌套循环打印杨辉三角形。
- 外层循环控制行数,内层循环控制每行的元素。
- 打印前的空格用于对齐三角形。
运行上述代码后,你将看到如下输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

杨辉三角形是一个经典的数学问题,它每一行的数字都是上一行相邻两个数字之和。下面我将详细介绍如何使用Java来实现打印10行的杨辉三角形。
1. 理解杨辉三角形的结构
杨辉三角形的特点:
- 第n行有n个数字。
- 每一行的第一个和最后一个数字都是1。
- 从第3行开始,每个数字等于它上方两个数字之和。
2. Java代码实现
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 打印10行
printYangHuiTriangle(numRows);
}
public static void printYangHuiTriangle(int numRows) {
// 创建一个二维数组来存储杨辉三角形的值
int[][] triangle = new int[numRows][numRows];
// 填充杨辉三角形的值
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一个元素是1
triangle[i][i] = 1; // 每一行的最后一个元素是1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印杨辉三角形
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
}
}
3. 代码解释
- 定义主类和主方法:
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10; // 打印10行
printYangHuiTriangle(numRows);
}
}
这里定义了一个主类 YangHuiTriangle 和主方法 main,在主方法中调用了 printYangHuiTriangle 方法来打印10行的杨辉三角形。
- 创建二维数组并填充杨辉三角形的值:
public static void printYangHuiTriangle(int numRows) {
int[][] triangle = new int[numRows][numRows];
for (int i = 0; i < numRows; i++) {
triangle[i][0] = 1; // 每一行的第一个元素是1
triangle[i][i] = 1; // 每一行的最后一个元素是1
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}
- 创建一个
numRows x numRows 的二维数组 triangle 来存储杨辉三角形的值。 - 使用两层循环来填充数组:
- 外层循环
i 遍历每一行。 - 内层循环
j 遍历每一行的每一个元素。 - 每一行的第一个和最后一个元素设置为1。
- 其他元素的值等于它上方两个元素之和。
- 打印杨辉三角形:
for (int i = 0; i < numRows; i++) {
for (int j = 0; j <= i; j++) {
System.out.print(triangle[i][j] + " ");
}
System.out.println();
}
- 使用两层循环来打印二维数组中的值。
- 外层循环
i 遍历每一行。 - 内层循环
j 遍历每一行的每一个元素,并打印出来。 - 每打印完一行后,换行。

4. 运行结果
运行上述代码,你将得到以下输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
这就是使用Java打印10行杨辉三角形的完整代码和解释。希望对你有所帮助!如果有任何问题或需要进一步的解释,请随时告诉我。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者

评论(0)