java二维数组问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 09:42:01
public class denyan
{
public static void main(string args[])
{
int a[][];
int a=new int a[3][4];
a[0][0]=100;
a[0][1]=200;
a[0][2]=300;
a[0][3]=400;
a[1][0]=500;
a[1][1]=600;
a[1][2]=700;
a[1][3]=800;
a[2][0]=900;
a[2[[1]=10;
a[2][2]=20;
a[2][3]=30;
System.out.println(a[0][0]);
System.out.println(a[0][1]);
System.out.println(a[0][2]);
System.out.println(a[0][3]);
System.out.println(a[1][0]);
System.out.println(a[1][1]);
System.out.println(a[1][2]);
System.out.println(a[1][3]);
System.out.println(a[2][0]);
System.out.println(a[2[[1]);
System.out.println(a[2][2]);
System.out.println(a[2][3]);
}
}<

一楼的完全正确,int a[][];这个只是声明,没有在内存分配空间
int a=new int a[3][4];这句定义数组是不对的
你要么这样:int a[][];
a = new int[3][4];
或int a[][] = new int[3][4];
前者是把声明和赋值分开,后者就是一步到位
明白原因了,那你下次就不会这样写了

class denyan
{
public static void main(String args[])
{

int[][] a=new int[3][4] ;
a[0][0]=100;
a[0][1]=200;
a[0][2]=300;
a[0][3]=400;
a[1][0]=500;
a[1][1]=600;
a[1][2]=700;
a[1][3]=800;
a[2][0]=900;
a[2][1]=10;
a[2][2]=20;
a[2][3]=30;
System.out.println(a[0][0]);
System.out.println(a[0][1]);
System.out.println(a[0][2]);
System.out.println(a[0][3]);
System.out.println(a[1][0]);
System.out.println(a[1][1]);
System.out.println(a[1][2]);
System.out.println(a[1][3]);
System.out.println(a[2][0]);
System.out.println(a[2][1]);
System.out.println(a[2][2]);
System.out.println(a[2][3]);
}
}
这样改就可以了

public class denyan