【发布时间】:2013-08-02 13:42:29
【问题描述】:
我正在尝试完成一项任务(因此指向大方向会有很大帮助),我必须(按顺序):
- 声明一个二维字符串数组,
- 为两个人和他们最喜欢的饮料的数组分配值
- 使用 for 循环输出
public class doublearray {
public static void main(String[] args){
String Preferences [] [] = new String [2][2];
Preferences [0][0]= "Tom, Coke";
Preferences [1][1]= "John, Pepsi";
for (int i=0; i<2; i++){
for (int j =0; j<3; j++){
System.out.print(Preferences[i][j]);
}
}
}
}
我收到此错误消息
Tom,线程“main”中的 CokenullException java.lang.ArrayIndexOutOfBoundsException:2 在 doublearray.main(doublearray.java:15)
现在,我知道 ",Tom,Coke" 只分配给 ONE [0] 这就是为什么会出现 null 的原因,但我不知道如何解决这个问题或让它打印出来成功。
任何帮助将不胜感激,我已经坚持了大约一个小时。 谢谢你。
【问题讨论】:
-
内部循环将允许 j 为 2,这超出了内部数组的范围。换句话说,Preferences[0][2] 超出了数组的范围,因为长度为 2。内循环应该是 j
-
答案开始了......
-
为什么是
i < 2和j < 3? -
非常感谢你们,我之前已将其从 >2 更改为 >3,以试图摆脱打印的“nullnull”。干杯! :)