JAVA二维数组定义


如何表示二维数组中的各个元素的位置
例:int a[][]=new in [2][4];
那么该数组的各个元素应该是
a[0][0]=0
a[0][1]=0
a[0][2]=0
a[0][3]=0
a[1][0]=0
a[1][1]=0
a[1][2]=0
a[1][3]=0
那么假如:
int a[][]=new int[][]{{1,2},{2,3,4,5}};
那么如下应该等于
a[0][0]=
a[0][1]=
a[0][2]=
a[0][3]=
a[1][0]=
a[1][1]=
a[1][2]=
a[1][3]=
请高手解答?

你定义的是一个2维数组.
int a[][]=new int[3][2];列举出来就是
a[0][0],a[0][1]
a[1][0],a[1][1]
a[2][0],a[2][1]
在JAVA中定义数组一般要给出大小的而你给的是[3][2]则有6个 3*2
也就是第一维分别是0,1,2不包含3.
第2维是分别是,0,1不包含2.

而你的
int a[][] = new int[3][2];
a[0] = ;
是想直接一次给2个值.
而a[0]其实也是一个数组 你在a[0] = ;把一个集合给了一个数组
范了数据类型不匹配的错误.
int a[][] = new int[3][2];
a[0][0]=1;
int b[]=;
a[0]=b;
这样子就先把1,和6变成数组,在把数组给数组,这样数据类型就符合了.

1
2
读取第三个时会发生数组索引越界的错误提示
读取第四个时也会发生数组索引越界的错误提示
2
3
4
5
a[0][0]=1;a[0][1]=2;a[0][2]和a[0][3]会抛出IndexOutOfBoundsException异常
a[1][0]=2;a[1][1]=3;a[1][2]=4;a[1][3]=5;
实际上,a[0][2]和a[0][3]都不存在,没有
a[0][0]=1
a[0][1]=2
a[1][0]=2
a[1][1]=3
a[1][2]=4
a[1][3]=5
楼主,二维数组不能这样定义!元素个数应该相同
1 , 2 ,0 ,0
2 , 3 ,4,5,
你用eclipes试一下类
int a[][]=new int[][]{{1,2},{2,3,4,5}};

这个只有
a[0][0]
a[0][1]
a[1][0]
a[1][1]
a[1][2]
a[1][3]
a[0][0]= 1
a[0][1]= 2
a[0][2]= 0
a[0][3]= 0
a[1][0]= 2
a[1][1]= 3
a[1][2]= 4
a[1][3]= 5
data(0)(0)=1
data(0)(1)=2

data(1)(0)=2
data(1)(1)=3
data(1)(2)=4
data(1)(3)=5


Copyright © 2009-2011 All Rights Reserved.