网课学习的时候发现一道有意思的二维数组的练习题,用二维数组实现杨辉三角,题目如下:
在此分享一下我的代码,希望能给大家提供帮助,也希望大家有更高效的代码也能评论分享一下
//用二维数组实现杨辉三角
public class YangHuitest
{
public static void main(String[] args)
{
int[][] yanghui = new int[10][];
for(int i=0;i<10;i++)//初始化二维数组,
//定义完二维数组后如需使用二维数组,这一步不可少否则编译不通过
{
yanghui[i] = new int[i+1];
}
yanghui[0][0] = 1;
yanghui[1][0] = 1;
yanghui[1][1] = 1;
for(int i=2;i<yanghui.length;i++)//i表示杨辉三角的行,j表示杨辉三角的列
{
yanghui[i][0]=1;
yanghui[i][i]=1;
for(int j=1;j<i;j++)
{
yanghui[i][j] = yanghui[i-1][j-1]+yanghui[i-1][j];
}
}
for(int i=0;i<yanghui.length;i++)
{
for(int j=0;j<yanghui[i].length;j++)
{
//三个条件运算仅为了结果美观,可自行调整
if(yanghui[i][j]<10)
{
System.out.print(yanghui[i][j]+" ");
}
if(yanghui[i][j]>=10 && yanghui[i][j]<100)
{
System.out.print(yanghui[i][j]+" ");
}
if(yanghui[i][j]>=100)
{
System.out.print(yanghui[i][j]+" ");
}
}
System.out.print("\n");
}
}
}
运行结果如下: