gpt4 book ai didi

java - 检查特定的数组索引是否存在

转载 作者:行者123 更新时间:2023-11-29 08:00:19 25 4
gpt4 key购买 nike

出现以下错误

java.lang.ArrayIndexOutOfBoundsException: 6
at data.connect(data.java:282)
at data.<init>(data.java:78)
at data.main(data.java:549)

我访问的是282行

int g = Integer.parseInt(arrtime[tempreload])

arrtime 是一个 String[] 并且我使用数组长度进行了检查:

int arrtimelen = arrtime.length - 1;
if(Integer.parseInt(arrtime[tempreload]) < arrtimelen) {
g = Integer.parseInt(arrtime[tempreload]);
}

我的程序流程是

int arrppagenolen=(arrpageno.length)-1; int arrtimelen=(arrtime.length)-1;

                String finalarr[][]=new String[3000000][5];
int tempreload=0;

int totalreload=0;
/*System.out.println("Length="+arrpagenolen);
for(int s=0;s<arrpagenolen;s++)
{
System.out.println(s+"="+arrpageno[s]);
}*/
for(int n=0;n<arrpagenolen;n++)
{
if(n==0)
{
totalreload=Integer.parseInt(arrreload[n]);
if(totalreload==1)
{
finalarr[finalvalue][1]=arrpageno[n];
finalarr[finalvalue][2]=arrreload[n];
finalarr[finalvalue][3]=arrtime[tempreload];
finalarr[finalvalue][4]=arrreferal[n];

}else
{
for(int y=0;y<totalreload;y++)
{
//System.out.println(finalarr[finalvalue][3]);
if(finalarr[finalvalue][3]!=null)
{
int x=Integer.parseInt(finalarr[finalvalue][3]);
int g;
if(Integer.parseInt(arrtime[tempreload]) < arrtimelen)
{
g=Integer.parseInt(arrtime[tempreload]);
}
else
{
g=0;
}
int temp=x+g;
finalarr[finalvalue][3]=Integer.toString(temp);
}else
{
if(Integer.parseInt(arrtime[tempreload]) < arrtimelen)
{
finalarr[finalvalue][3]=arrtime[tempreload];
}else
{
int tmprl=0;
arrtime[tempreload]=Integer.toString(tmprl);
}
}
tempreload++;
}
finalarr[finalvalue][1]=arrpageno[n];
finalarr[finalvalue][2]=arrreload[n];
finalarr[finalvalue][4]=arrreferal[n];

}
finalvalue++;

}
else
{
int flag=0;
int selectedindex=0;
for(int j=0;j<finalvalue;j++)
{
int temp1=Integer.parseInt(finalarr[j][1]);
int temp2=Integer.parseInt(arrpageno[n]);
if(temp1==temp2)
{
flag=1;
selectedindex=j;
}
}

if(flag==0)
{
totalreload=Integer.parseInt(arrreload[n]);
if(totalreload==1)
{

finalarr[finalvalue][1]=arrpageno[n];
finalarr[finalvalue][2]=arrreload[n];
finalarr[finalvalue][3]=arrtime[tempreload];
finalarr[finalvalue][4]=arrreferal[n];
}
else
{
for(int y=0;y<totalreload;y++)
{
if(finalarr[finalvalue][3]!=null)
{
int x=Integer.parseInt(finalarr[finalvalue][3]);
int g=Integer.parseInt(arrtime[tempreload]);
System.out.println("g value="+g);
int temp3=x+g;
System.out.println("temp3 value="+temp3);
finalarr[finalvalue][3]=Integer.toString(temp3);
}else
{
finalarr[finalvalue][3]=arrtime[tempreload];
}
//finalarr[finalvalue][3]=finalarr[finalvalue][3]+arrtime[tempreload];
tempreload++;
}

finalarr[finalvalue][1]=arrpageno[n];
finalarr[finalvalue][2]=arrreload[n];
finalarr[finalvalue][4]=arrreferal[n];
}
finalvalue++;
}
else
{
totalreload=Integer.parseInt(arrreload[n]);
if(totalreload==1)
{
int x=Integer.parseInt(finalarr[selectedindex][2]);
int g=Integer.parseInt(arrreload[n]);
int temp4=x+g;
finalarr[selectedindex][2]=Integer.toString(temp4);

int a=Integer.parseInt(finalarr[selectedindex][3]);
//System.out.println("reload 1 previous value "+a);
int b=Integer.parseInt(arrtime[tempreload]);
//System.out.println("reload 1 new value "+b);
int temp5=a+b;
//System.out.println("reload 1 temp value "+temp5);
finalarr[selectedindex][3]=Integer.toString(temp5);


}
else
{
for(int y=0;y<totalreload;y++)
{

int x=Integer.parseInt(finalarr[selectedindex][3]);
//System.out.println("else previous value "+x);
int g;
if(arrtime[tempreload]!=null)
{
g=Integer.parseInt(arrtime[tempreload]);
}
//System.out.println("else new value "+g);
else
{
g=0;
}
int temp6 = x+g;
//System.out.println("else temp value "+temp6);
finalarr[selectedindex][3]=Integer.toString(temp6);
tempreload++;
}
int p=Integer.parseInt(finalarr[selectedindex][2]);
int q=Integer.parseInt(arrreload[n]);
int temp7=p+q;
finalarr[selectedindex][2]=Integer.toString(temp7);


}
}
}
}

我做错了什么?

最佳答案

您正在检查数组元素值,而不是索引。应该是:

int arrtimelen = arrtime.length;
if (tempreload < arrtimelen)
{
g = Integer.parseInt (arrtime [tempreload]);
}

关于java - 检查特定的数组索引是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14813057/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com