Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 将数据存储到二维数组_Java_Arrays - Fatal编程技术网

Java 将数据存储到二维数组

Java 将数据存储到二维数组,java,arrays,Java,Arrays,我一直在使用java,希望将数据存储在二维数组12x2中, 下面显示了存储数据的方法: 下面是我构建的代码,但不幸的是我遇到了异常 java.lang.ArrayIndexOutOfBoundsException:4 String[][] netswtich=new String[12][2]; for(int i =0;i<4;i++) { for(int j=4;j>0;j--)

我一直在使用java,希望将数据存储在二维数组12x2中, 下面显示了存储数据的方法:

下面是我构建的代码,但不幸的是我遇到了异常

java.lang.ArrayIndexOutOfBoundsException:4

String[][] netswtich=new String[12][2];

for(int i =0;i<4;i++)
              {
                  for(int j=4;j>0;j--)
                  {
                        if(i==j) 
                        {
                            continue;
                        }
                        netswtich[k][0]=ranArray[i];
                        netswtich[k][1]=ranArray[j];
                        k++;
                  }
              }
String[][]netswtich=新字符串[12][2];
对于(int i=0;i0;j--)
{
如果(i==j)
{
继续;
}
netswtich[k][0]=ranArray[i];
netswtich[k][1]=ranArray[j];
k++;
}
}

我猜你在ranArray上得到了数组越界如果向量的大小是4,你应该从3开始j到0
(int j=3;j>=0;j--)
我猜你在ranArray上得到了数组越界如果向量的大小是4,你应该从3开始j到0
(int j=3;j>=0;j--)

这意味着您想访问不在那里的数组元素,例如,您想访问ranArray[4],而ranArray只包含4个(或更少的元素),这意味着3是最后一个可用的数组元素。

这意味着您想访问不在那里的数组元素,例如,您想访问ranArray[4]而ranArray只包含4个(或更少的元素),这意味着3是最后一个可用的数组元素。

我认为问题在于ranArray[…]您没有显示ranArray内部的内容,也没有显示k的起始值…这将导致异常,因为在您的数组中,您使用了数组大小为12,即,我将从0到11,但对于第二维,您使用了2,即,j将变为0-1,但您正在比较j==4,您是如何初始化ranArray的?您可能会在ranArray[4]K=0上遇到异常;ranArray由5个字符串组成..String[]ranArray=新字符串[4]我假设问题出在ranArray[…]您没有显示ranArray内部的内容,也没有显示k的起始值…这将导致异常,因为在您的数组中,您使用了数组大小为12,即,我将从0到11,但对于第二维,您使用了2,即,j将变为0-1,但您正在比较j==4,您是如何初始化ranArray的?您可能会在ranArray[4]K=0上遇到异常;ranArray由5个字符串组成。String[]ranArray=新字符串[4],但为什么它不能容纳5个元素。我的意思是从0 1 2 3 4开始,如果您将它定义为“String[]ranArray=新字符串[4];”这意味着它可以容纳4个元素。但由于我们从0开始计数,而不是1,这意味着3实际上是第四个(也是最后一个)元素:ranArray[0]ranArray[1]ranArray[2]ranArray[3]是四个可用元素。如果您需要更多,只需在定义中将4更改为5(或任何您需要的内容)。但为什么它不能容纳5个元素呢?我的意思是,如果您将其定义为“String[]ranArray=new String[4];”则从0 1 2 3 4开始,这意味着它可以容纳4个元素。但由于我们从0开始计数,而不是1,这意味着3实际上是第四个(也是最后一个)元素:ranArray[0]ranArray[1]ranArray[2]ranArray[3]是四个可用元素。如果您需要更多,只需在定义中将4改为5(或其他任何您需要的)。