import java.util.Scanner;
/*
输出二维数组"杨辉三角"
i\j0 1 2 3 4 5
01
11 1
21 2 1
31 3 3 1
41 4 6 4 1
51 5 10 10 5 1
....
分析一下数组每个元素YangHui[i][j]的规则:
1,行的数量等于每行的元素数量, 行数=列数
2,每一行的第1个元素和末尾元素都是1
3,从第3行开始,“首个元素和末个元素之间”的每一个元素(i>1,0
YangHui[i][j] = YangHui[i-1][j] + YangHui[i-1][j-1];
也就是:本元素=上一行本列元素+上一行前一列元素
*/
public class YangHui {
public static void main(String[] args) {
System.out.println("请输入查询前几行以内的杨辉三角:");
Scanner s=new Scanner(System.in);
int num=s.nextInt();
int[][] YangHui=new int [num][]; //只定义了二维数组的横向长度,还需定义二维数组的竖向长度
//而杨辉三角的竖向长度又是随横向长度变化而变化的
//初始化二维数组
for(int i=0;i
{
YangHui[i]=new int [i+1]; //定于杨辉三角的竖向长度,即数组的第n行总共有n列。(需要转几个弯,语法格式及数组长度)
}
//根据数组元素的规则赋值
for(int i=0;i
{
for(int j=0;j
{
YangHui [i][0]=YangHui [i][i]=1;//定义了首尾的数值1
if(i>1&&j>0&&j
{YangHui[i][j]=YangHui[i-1][j-1]+YangHui[i-1][j];}
}
}
for(int i=0;i
{
for(int j=0;j
{
System.out.print(YangHui[i][j]+"\t");//制表符
}
System.out.println();//注意格式
}
}
}
显示如下