java 杨辉三角
(小白,请指点不足)
public class YangHuiSanJiao {
public static void main(String[] args) {
//1.
boolean b=true;
while(b)
{
int n;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();//输入你需要多少行的数据
if(n==0)//如果是0行结束循环(结束程序)
{
b=false;
}
int a[][]=new int [n][];
for(int i=0;i<a.length;i++)
{
a[i]=new int[i+1]; //为每行的个数申请空间
}
// a[0][0]=1;
// a[1][0]=1;
// a[1][1]=1;
for(int i=0;i<a.length;i++)
{
for(int j=0;j<a[i].length;j++)
{
if(i>1&&j>0&&i!=j) //条件判断(行数从0开始,大于第一行的并且不是每行的第一个数或最后一个数的进入if赋值,不满住条件的进入else赋值)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
else
{
a[i][j]=1;
}
System.out.print(a[i][j]+" ");
}
System.out.println(); //每行结束进行换行
}
System.out.println();
}
}
}
修改的代码:
public class YangHuiSanJiao {
public static void main(String[] args) {
//1.
boolean b=true;
while(b)
{
int n;
Scanner scanner=new Scanner(System.in);
n=scanner.nextInt();//输入你需要多少行的数据
if(n==0)//如果是0行结束循环(结束程序)
{
b=false;
}
int a[][]=new int [n][];
// for(int i=0;i<a.length;i++)
// {
// a[i]=new int[i+1];
// }
// a[0][0]=1;
// a[1][0]=1;
// a[1][1]=1;
for(int i=0;i<a.length;i++)
{
a[i]=new int[i+1]; //每行的个数也可以在这个循环中申请(其他代码不变)
for(int j=0;j<a[i].length;j++)
{
if(i>1&&j>0&&i!=j)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
else
{
a[i][j]=1;
}
System.out.print(a[i][j]+" ");
}
System.out.println();
}
System.out.println();
}
}
}