¿Por qué se produce un java.lang.ArrayIndexOutOfBoundsException, alguien me ayuda?
Publicado por Xiaolin (6 intervenciones) el 20/03/2019 00:58:08
ºTengo un problema con el siguiente programa. Al llegar a la condición if(numeros[j] < numeros[j+1]) me da un error de java.lang.ArrayIndexOutOfBoundsException. No consigo de encontrar al fallo. ¿Alguien me ayuda a resolverlo?. Grácias.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
package ejerciciosJava;
import java.util.Scanner;
public class OrdenarNúmeros {
public static void main(String args[]) {
int contador = 0, num, a = 0, i, j;
int[] numeros = new int[5];
Scanner teclado = new Scanner(System.in);
do{
System.out.println("Introduzca valores (0 para finalizar): ");
num = teclado.nextInt();
if (num != 0) {
numeros[contador] = num;
contador++;
}
}while (num != 0);
for (i = 0; numeros.length > i; i++) {
for (j = 0; numeros.length > j; j++) {
if (numeros[j] < numeros[j + 1]) { //JUSTO AQUÍ ME DA EL ERROR!!
a = numeros[j];
numeros[j] = numeros[j + 1];
numeros[j+ 1] = a;
}
}
}
for (i = 0; i < numeros.length; i++) {
System.out.print(numeros[i] + ",");
}
}
}
Valora esta pregunta
0