Java杨辉三角

谁帮我看一下呢,我写的输出杨辉三角的代码咋不对呢?

class Yhsj{
public static void main(String[] args){
int[][] number=new int[12][];
int row,list;
number[0][0]=1;number[1][0]=1;number[1][1]=1;
System.out.println(number[0][0]);
for(row=2;row<=11;row++){
number[row][0]=1;
number[row][row]=1;
System.out.print(number[row][0]+" ");
for(list=0;list<=row;list++){
number[row][list]=number[row-1][list-1]+number[row-1][list];
System.out.print(number[row][list]+" ");
}
System.out.println();
}

}
}

错误提示:
Exception in thread "main" java.lang.NullPointerException
谁能在我的代码的基础上改一下,使之能正常输出,谢谢!!!

public static void main(String[] args) {
int[][] number = new int[12][];
int row, list;
number[0] = new int[1];//赋值前要初始化
number[1] = new int[2];//赋值前要初始化
number[0][0] = 1;
number[1][0] = 1;
number[1][1] = 1;
System.out.println(number[0][0]);
for (row = 2; row <= 11; row++) {
number[row] = new int[row + 1];//赋值前要初始化
number[row][0] = 1;
number[row][row] = 1;
System.out.print(number[row][0] + " ");
for (list = 1; list < row; list++) {//list位置要控制
number[row][list] = number[row - 1][list - 1]
+ number[row - 1][list];
System.out.print(number[row][list] + " ");
}
System.out.println();
}

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-12
我这有个杨辉三角形你参考一下
public class yanghui {
public static void main(String[] args) {
for(int i=0;i<10;i++){
for(int j=0;j<=i;j++){
System.out.print(yh(i,j)+" ");
}
System.out.println();
}
}
public static int yh(int level,int item){
if(item==0){
return 1;
}else{
return yh(level,item-1)*(level-item+1)/item;
}

}
}
第2个回答  2013-03-20
#include <stdio.h>
main()
{ int i,j,n=0,a[17][17]={0};
while(n<1 || n>16)
{printf("请输入杨辉三角形的行数:");
scanf("%d",&n);
}
for(i=0;i<n;i++)
a[i][0]=1; /*第一列全置为一*/
for(i=1;i<n;i++)
for(j=1;j<=i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];/*每个数是上面两数之和*/
for(i=0;i<n;i++) /*输出杨辉三角*/
{for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
}
相似回答