Java 将数据存储到二维数组
我一直在使用java,希望将数据存储在二维数组12x2中, 下面显示了存储数据的方法: 下面是我构建的代码,但不幸的是我遇到了异常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.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(或其他任何您需要的)。