在java中用二维数组构造并打印一个有N行的杨辉三角,N由命令行输入如一个有6行的杨辉三角

必须用二维数组的知识,有命令行来确定打印的行数。

第1个回答  2010-11-12
import java.util.Scanner;

public class YTriangular {

public void run(int num) {
if (num < 3) {
main(null);
}
int[][] yt = new int[num][num];

for (int i = 0; i < num; i++) {
for (int j = 0; j < i; j++) {

if (i == j || j == 0) {
yt[i][j] = 1;
} else {
yt[i][j] = yt[i - 1][j - 1] + yt[i - 1][j];
}
System.out.print(yt[i][j] + " ");
}
System.out.println("");
}

}

public static void main(String[] args) {
System.out.println("请输入行数(>=3)");
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
new YTriangular().run(num);
}
}
第2个回答  2010-11-12
import java.util.Scanner;

public class Yang {

public void fun(int num){

int[][] m=new int [num][];
for(int i=0;i<m.length;i++){
m[i]=new int[i+1];
m[i][0]=1;m[i][i]=1;
for(int j=0;j<m[i].length-1;j++){
if(j>=1&&i>1)
m[i][j]=m[i-1][j-1]+m[i-1][j];
}
}
for(int i=0;i<m.length;i++){
for(int j=0;j<m[i].length;j++){
System.out.print(m[i][j]);
System.out.print('\t');
}
System.out.println();
}
}

public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int num = scan.nextInt();
new Yang().fun(num);
}
}本回答被提问者和网友采纳
相似回答