Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何解决“问题”;数组越界异常";? 公共类MDU阵列\28{ 公共静态void main(字符串[]args){ 国际公寓【】【】; 单位=新国际[2][3]; [0][0]=101个单位; [0][1]=102个单位; [0][2]=103个单位; 单位[1][0]=201个; [1][1]=202个单位;; [1][2]=203个单位; 对于(int i=0;i_Java_Arrays_Multidimensional Array - Fatal编程技术网

Java 如何解决“问题”;数组越界异常";? 公共类MDU阵列\28{ 公共静态void main(字符串[]args){ 国际公寓【】【】; 单位=新国际[2][3]; [0][0]=101个单位; [0][1]=102个单位; [0][2]=103个单位; 单位[1][0]=201个; [1][1]=202个单位;; [1][2]=203个单位; 对于(int i=0;i

Java 如何解决“问题”;数组越界异常";? 公共类MDU阵列\28{ 公共静态void main(字符串[]args){ 国际公寓【】【】; 单位=新国际[2][3]; [0][0]=101个单位; [0][1]=102个单位; [0][2]=103个单位; 单位[1][0]=201个; [1][1]=202个单位;; [1][2]=203个单位; 对于(int i=0;i,java,arrays,multidimensional-array,Java,Arrays,Multidimensional Array,输出: 101 102 103 0 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4 at MDarrays_28.main(MDarrays_28.java:15) 我对计算机编程非常陌生,所以任何帮助都将非常感谢,非常感谢 这一行是错误的: for(int j=0; i<flats[i].le

输出:

101 102 103 0 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4
        at MDarrays_28.main(MDarrays_28.java:15)
我对计算机编程非常陌生,所以任何帮助都将非常感谢,非常感谢

这一行是错误的:

for(int j=0; i<flats[i].length;j++){

for(intj=0;i在这种情况下,我建议使用for-each循环:它更有效,而且不会让您对变量感到头疼

以下方面应起作用:

for(int[] i : flats){
   for(int j : i){
      System.out.print(j+" ");
   }
   System.out.println();
}
:


我看到内部for循环,测试条件不正确

由于迭代变量为
j
(递增),因此测试条件在整个执行过程中保持不变。选择测试条件时,应确保在每个循环中计算新表达式

在您的情况下,条件应该涉及变量
j
,因为它是每个循环中唯一更新的变量。因此,将内部for循环中的条件更改为以下应该可以解决您的问题

for(int j=0;j
for(int[] i : flats){
   for(int j : i){
      System.out.print(j+" ");
   }
   System.out.println();
}
101 102 103 
201 202 203