/*
* 2、 封装一个类CreateArray类,
* 其实例变量有 int[][] a; 和 int row ; 两个。
* 数组a表示杨辉三角,而row表示杨辉三角的行数。
* 另外,有一个默认构造器和一个带row参数的构造器。
* 同时,有一个yangHuiArray()方法为来实现杨辉三角的赋值,
* 有一个printArray()方法来打印杨辉三角。
*
* 1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
.........
分析: 令 i 为行号,而 j 为列号.
当 j == 0 时,则 a[i][0] == 1
当 j == i 时,则 a[i][j] == 1
其它
这个数等于它的上一行的同一列 + 前一列之和。
a[i][j] == a[i-1][j] + a[i-1][j-1];
*/
public class CreateArray {
//实例变量
private int[][] a;
private int row;
//构造器
public CreateArray(){
}
public CreateArray(int row){
this.row = row;
this.a = new int[row][];//创建了一个具有row行的二维数组。
for(int i = 0;i<a.length;i++){
a[i] = new int[i+1];//构造了数组a 每行最多包含的元素个数
}
}
//设定器
public void setA(int[][] a){
this.a = a;
}
public void setRow(int row){
this.row = row;
}
//访问器
public int[][] getA(){
return a;
}
public int getRow(){
return row;
}
//功能方法
//方法:完成杨辉三角
public void yangHuiArray(){
for(int i = 0;i<a.length;i++){
for(int j = 0;j<a[i].length;j++){
if(j ==0 || j == i ){
a[i][j] = 1;
}else{
a[i][j] = a[i-1][j]+a[i-1][j-1];
}
}
}
}
//打印输出 二维数组的打印输出
public void printArray(){
for(int[] tem : a){
for(int tt : tem){
System.out.print(tt+" ");
}
System.out.println();//换行
}
}
}
杨辉三角的输出。二维数组的遍历方法
最新推荐文章于 2025-02-25 12:46:20 发布