首先我们来详细讲解用JAVA实现杨辉三角的完整攻略,步骤如下:
1. 确定问题及解题思路
杨辉三角是一个数字三角形,它的每一行都是由前一行相邻两个元素相加而成。第一行只有一个数字1,接下来的每一行数字都是通过计算上一行相邻两个数字之和得到的。比如,第三行的数字是1 2 1,其中2=1+1。
我们可以通过二维数组来存储杨辉三角,并使用循环迭代计算每一行的数据。最终输出二维数组即可。
2. 编写JAVA代码
接下来,我们来看具体的JAVA代码实现。代码如下所示:
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
// 定义二维数组
int[][] arr = new int[10][];
// 遍历数组
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; j++) {
// 处理杨辉三角边角元素为1的情况
if (j == 0 || j == arr[i].length - 1) {
arr[i][j] = 1;
} else { // 处理其他情况
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
// 输出杨辉三角
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
3. 示例说明
下面我们来看两个用JAVA实现杨辉三角的示例说明。
示例1
我们需要输出7行的杨辉三角,可以在代码中将二维数组的行数修改为7,代码如下:
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
// 定义二维数组
int[][] arr = new int[7][];
// 遍历数组
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; j++) {
// 处理杨辉三角边角元素为1的情况
if (j == 0 || j == arr[i].length - 1) {
arr[i][j] = 1;
} else { // 处理其他情况
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
// 输出杨辉三角
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
运行上述代码,输出结果如下:
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
示例2
我们需要通过用户输入行数来输出杨辉三角,可以使用Scanner类接收用户输入的行数,代码如下:
import java.util.Scanner;
public class YangHuiTriangle {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入要生成的杨辉三角行数:");
int num = sc.nextInt();
// 定义二维数组
int[][] arr = new int[num][];
// 遍历数组
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1];
for (int j = 0; j < arr[i].length; j++) {
// 处理杨辉三角边角元素为1的情况
if (j == 0 || j == arr[i].length - 1) {
arr[i][j] = 1;
} else { // 处理其他情况
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
}
// 输出杨辉三角
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}
运行上述代码,当用户输入行数为7时,输出结果同示例1。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用JAVA实现杨辉三角实例 - Python技术站