二维数组的赋值,为什么越界

来源:百度知道 编辑:UC知道 时间:2024/09/21 08:59:30
public static void init(){
String[][] rooms=new String[12][10];
int i,j;
for(i=0;i<rooms.length;i++);{
for(j=0;j<rooms[i].length;j++);{
rooms[i][j]="empty";
}
}
}
上面代码总是出现越界错误
把rooms.length和rooms[i].length都减1就可以避免
可是那样赋值的数组不是只有11×9了吗
另外String类型的赋值也总存在问题 我写的代码是:
package corejava.day06;
import java.util.*;
public class Hotel {
static String[][] rooms=new String[12][10];
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sca=new Scanner(System.in);
init();
show();
}
public static void init(){
// String[][] rooms=new String[12][10];
int i,j;
for(i=0;i<rooms.length-1;i++);{
for(j=0;j<rooms[i].length-1;j++);{
rooms[i][j]="empty";
}
}
}
public static void

。。。。。。首先,你的第一个程序写的一点问题也没有,但是我很奇怪,你为什么要在for循环的小括号外面加上一个分号?去掉那两个多余的分号你的第一个二维数组赋值就没有任何问题了.

你把你那莫名其妙的两个分号去掉,后面的程序也没任何问题了。