Java实现杨辉三角:代码示例与详解
Java实现杨辉三角:代码示例与详解
本篇文章将详细介绍使用Java语言编写代码,按要求输出杨辉三角。提供完整代码示例和详细解释,并附带示例输出,帮助你轻松掌握杨辉三角的实现方法。
程序框架
class Yanghui{
int a[][]; //这是用于存放杨辉三角的二维数组,它的每一行的元素数目依次是1、2、3……
public Yanghui(int n){ }//这个构造方法用于构造a,参数n指定行数
public Yanghui(){ } //本方法会自动构造一个有10行的二维数组
public void show(){ // 按直角等腰三角形的格式显示存在a中的杨辉三角
public void full() { } //在a中填充数据,使其成为杨辉三角
public static void main(String argv[]){ Yanghui oa; //利用对象oa输出指定行数的杨辉三角 }
}
杨辉三角输出形式
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
格式
-
输入格式 输入一个整型数n(1≤n≤20),表示杨辉三角的行数
-
输出格式 n行的杨辉三角内容
代码实现
import java.util.Scanner;
class Yanghui{
int a[][]; //这是用于存放杨辉三角的二维数组,它的每一行的元素数目依次是1、2、3……
public Yanghui(int n){
a = new int[n][];
for(int i=0; i<n; i++){
a[i] = new int[i+1];
}
}//这个构造方法用于构造a,参数n指定行数
public Yanghui(){
a = new int[10][];
for(int i=0; i<10; i++){
a[i] = new int[i+1];
}
} //本方法会自动构造一个有10行的二维数组
public void show(){
for(int i=0; i<a.length; i++){
for(int j=0; j<a[i].length; j++){
System.out.print(a[i][j] + ' ');
}
System.out.println();
}
}// 按直角等腰三角形的格式显示存在a中的杨辉三角
public void full() {
for(int i=0; i<a.length; i++){
for(int j=0; j<a[i].length; j++){
if(j==0 || j==a[i].length-1){
a[i][j] = 1;
}else{
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
}
}//在a中填充数据,使其成为杨辉三角
public static void main(String argv[]){
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Yanghui oa = new Yanghui(n);
oa.full();
oa.show();
}
}
代码解释
-
二维数组初始化:
a = new int[n][];创建一个长度为n的二维数组,用于存储杨辉三角。a[i] = new int[i+1];每一行数组的长度为i+1,即第i行的元素个数为i+1。
-
填充数据:
if(j==0 || j==a[i].length-1) a[i][j] = 1;每一行首尾元素为1。else a[i][j] = a[i-1][j-1] + a[i-1][j];杨辉三角中其他元素的值等于上一行对应位置的两个元素之和。
-
显示结果:
System.out.print(a[i][j] + ' ');输出当前位置元素的值,并用空格隔开。System.out.println();输出换行,开始下一行的输出。
示例输出
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
总结
本文详细介绍了使用Java语言编写代码,按要求输出杨辉三角。通过代码示例和解释,可以帮助你理解杨辉三角的生成规律和Java代码实现方法。希望本文对你学习和理解杨辉三角有所帮助。
原文地址: https://www.cveoy.top/t/topic/jqbV 著作权归作者所有。请勿转载和采集!