为什么我收到此错误?
线程“main”中的异常java.lang.ArrayIndexOutOfBoundsException:3 在Vectores.main(Vectores.java:86)
我认为错误就在这里:
System.out.println("El Número mayor es:"+NMay);
System.out.println("El Número menor es:"+NMen);
if (NumP>0){
System.out.println("Hay"+" "+NumP+" "+"Números Pares");}
else { System.out.println("No hay números Pares"); }
if (NumI>0){
System.out.println("Hay"+" "+NumI+" "+"Números Impares");}
else { System.out.println("No hay números Impares"); }
for (i=0;i<N-1;i++){
for (j=i+1;j<N;j++){
if(Num[i]>Num[j]){
aux=Num[i];
Num[i]=Num[j];
Num[j]=aux;
}
}
}
System.out.print("El Vector ordenado es: ");
for (ord=0;ord<N;ord++){
System.out.print(Num[ord]+", ");
}
for(Imp=1;Imp<=N;Imp=Imp+2){
SumI=SumI+Num[Imp];
}
System.out.print("La Suma de las Posiciones Impares es:"+SumI);
我已将文件设为here。
答案 0 :(得分:1)
for(Imp=1;Imp<=N;Imp=Imp+2){
SumI=SumI+Num[Imp];
}
当你的Imp = N时,你试图访问非法的Num [N],因为你的数组包含从0到(N-1)的索引。 for循环中的stop-argument必须不为Imp&lt; = N,因为它允许程序尝试访问Num [N]。