public class trigon2{
public static void main(String[] args){
int[][] triarray=new int[10][];
for(int i=0;i<triarray.length;i++){
triarray[i]=new int[++i];
}
int k=0;
for(int i=0;i<triarray.length;i++){
for(int j=0;j<triarray[i].length;j++){
j=0;
triarray[i][j]=++k;
System.out.println(triarray[i][j]);
}
}
}
}
//运行后,抛出异常://Exception in thread "main" java.lang.NullPointerException
// at trigon2.main(trigon2.java:9)
public static void main(String[] args){
int[][] triarray=new int[10][];
for(int i=0;i<triarray.length;i++){
triarray[i]=new int[++i];
}
int k=0;
for(int i=0;i<triarray.length;i++){
for(int j=0;j<triarray[i].length;j++){
j=0;
triarray[i][j]=++k;
System.out.println(triarray[i][j]);
}
}
}
}
//运行后,抛出异常://Exception in thread "main" java.lang.NullPointerException
// at trigon2.main(trigon2.java:9)
triarray[0] = [I@de6ced
triarray[1] = null
triarray[2] = [I@c17164
triarray[3] = null
triarray[4] = [I@1fb8ee3
triarray[5] = null
triarray[6] = [I@61de33
triarray[7] = null
triarray[8] = [I@14318bb
triarray[9] = null建议楼主避免使用 ++i,而用更加清晰易懂的 i+1。
另外,j=0 那一句会造成无限循环。 最后楼主想得到的是不是这个:
triarray[0][0]=1
triarray[1][0]=2
triarray[1][1]=3
triarray[2][0]=4
triarray[2][1]=5
triarray[2][2]=6
triarray[3][0]=7
triarray[3][1]=8
triarray[3][2]=9
triarray[3][3]=10
triarray[4][0]=11
triarray[4][1]=12
triarray[4][2]=13
triarray[4][3]=14
triarray[4][4]=15
triarray[5][0]=16
triarray[5][1]=17
triarray[5][2]=18
triarray[5][3]=19
triarray[5][4]=20
triarray[5][5]=21
triarray[6][0]=22
triarray[6][1]=23
triarray[6][2]=24
triarray[6][3]=25
triarray[6][4]=26
triarray[6][5]=27
triarray[6][6]=28
triarray[7][0]=29
triarray[7][1]=30
triarray[7][2]=31
triarray[7][3]=32
triarray[7][4]=33
triarray[7][5]=34
triarray[7][6]=35
triarray[7][7]=36
triarray[8][0]=37
triarray[8][1]=38
triarray[8][2]=39
triarray[8][3]=40
triarray[8][4]=41
triarray[8][5]=42
triarray[8][6]=43
triarray[8][7]=44
triarray[8][8]=45
triarray[9][0]=46
triarray[9][1]=47
triarray[9][2]=48
triarray[9][3]=49
triarray[9][4]=50
triarray[9][5]=51
triarray[9][6]=52
triarray[9][7]=53
triarray[9][8]=54
triarray[9][9]=55
public static void main(String[] args) {
int[][] triarray = new int[10][];
for (int i = 0; i < 10; i++) {
triarray[i] = new int[i];
}
int k = 0;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < triarray[i].length; j++) {
triarray[i][j] = ++k;
System.out.println("triarray["+i+"]["+j+"] = "+triarray[i][j]);
}
}
}}
int[][] triarray=new int[10][];
这个triarray[i].length当然就为NullPointerException咯.
public static void main(String[] args) {
int[][] triarray = new int[10][];
for (int i = 0; i < 10; i++) {
triarray[i] = new int[i];
}
int k = 0;
for (int i = 0; i < 10; i++) {
for (int j = 0; j < triarray[i].length; j++) {
triarray[i][j] = ++k;
System.out.print(triarray[i][j]+" ");
}
System.out.println();
}
}}
public class trigon{
public static void main(String[] args){
int[][] triarray=new int[10][];
int i=0,j=0;
for(int[] triarray2:triarray){
triarray2=new int[++i];
} for(int[] triarray2:triarray){
for(int tri:triarray2){
triarray2[j++]=j+1;
System.out.println(triarray2+"");
}
System.out.println("");
}
}
}
triarray2=new int[++i];
}
这样做其实并没有给数组赋值,triarray 中的每个元素还是 null。
public static void main(String[] args) {
int[][] arr = new int[10][];
int counter = 1;
for (int i = 0; i < arr.length; i++) {
arr[i] = new int[i + 1]; for (int j = 0; j < arr[i].length; j++) {
arr[i][j] = counter;
counter++;
System.out.print(arr[i][j] + " ");
} System.out.println();
}
}
{
public static void main(String [] args)
{
int num=1;
for(int i=1;i<=4;i++)
{
for(int j=1;j<=i;j++)
{
System.out.print(num+" ");
num++;
}
System.out.println();
}
}
}
问题出在这一行