数组的简单赋值问题

来源:百度知道 编辑:UC知道 时间:2024/09/24 04:27:58
String[][] message=new String[1][1];// 定义一个二维数组
int a=0; // a b 控制维度
int b=1; //
for(i=0;i<2;i++)
{
message[a][i]="我想给的值1";
message[b][i]="我想给的值2";

System.out.println(message[a][i]);
System.out.println(message[b][i]);
}

结果出现java.lang.ArrayIndexOutOfBoundsException
哪里有错误呢?
多谢指教。

你的String[][] message=new String[1][1]是一行一列的数组,下标最大是0,for(i=0;i<2;i++) ,循环第2次,i的值会是1,因此下标越界。改成String[][] message=new String[2][2]就OK了。

你的数组一共就message[0][0]一个值
应该这样:
String[][] message=new String[2][2];// 定义一个二维数组
int a=0; // a b 控制维度
int b=1; //
for(i=0;i<2;i++)
{
message[a][i]="我想给的值1";
message[b][i]="我想给的值2";

System.out.println(message[a][i]);
System.out.println(message[b][i]);
}

数组越界

试下把String[][] message=new String[1][1]
改成
String[][] message=new String[2][2]
行不行

你数组的长度是 1 1 message=new String[1][1];//
你访问的最大脚标是 0 0 也就是message[0][0]
所以 你访问message[a][i] i>0就出错 message[b][i] b=1 已经越界