Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: hpayaresc en 23 de Noviembre 2016, 17:30

Título: Java. Ayuda con Exception in thread "main" ...ArrayIndexOutOfBoundsException
Publicado por: hpayaresc en 23 de Noviembre 2016, 17:30
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
   at multiplos.multiplos.main(multiplos.java:23)

JAVA

ESTE ES EL CODIGO

Código: [Seleccionar]
package multiplos;
 import java.util.Scanner;
 public class multiplos {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int vector[];
vector =new int[5];
int indice,limite,contador,numero;
indice=0;
contador=0;
limite=0;
numero=0;
System.out.println("Ingrese Numeros Para el Vector");
for (indice=0;indice<vector.length;indice++){
vector[indice]= teclado.nextInt();
}
for(indice=0;indice<vector.length; indice++){
System.out.print(+vector[indice]+"-");
}
System.out.println("Los Multiplos Del Numeros Digitados Son:\n");
numero = teclado.nextInt();
while (limite<=5){
if (vector[limite]% numero ==0){
System.out.println("\n"+vector[limite]+" Multiplo De "+ numero +"\n");
contador++;
}
limite++;
if (limite ==5){
System.out.println("Total de Multiplos Es = "+contador);
}
}


}
}
       
Título: Re:AYUDA A ESTA EXCEPTION
Publicado por: DRANXZ88 en 23 de Noviembre 2016, 17:55
Que es lo que tiene que hacer tu código.
Otra cosa te recomiendo que lea este link para saber la regla del foro y la forma correcta de publicar.
https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 (https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0)
Título: Re:AYUDA A ESTA EXCEPTION
Publicado por: hpayaresc en 23 de Noviembre 2016, 18:11
Lea un vector de n elementos y luega imprima cuantosy cuales  elementos son multiplos de 9  diseñar programa en java


Este es el código:

Código: [Seleccionar]
package multiplos;
 import java.util.Scanner;
 public class multiplos {
public static void main(String[] args) {
Scanner teclado = new Scanner(System.in);
int vector[];
vector =new int[5];
int indice,limite,contador,numero;
indice=0;
contador=0;
limite=0;
numero=0;
System.out.println("Ingrese Numeros Para el Vector");
for (indice=0;indice<vector.length;indice++){
vector[indice]= teclado.nextInt();
}
for(indice=0;indice<vector.length; indice++){
System.out.print(+vector[indice]+"-");
}
System.out.println("Numeros Digitados Son:\n");
numero = teclado.nextInt();
while (limite<=5){
if (vector[limite]% numero ==0){
System.out.println("\n"+vector[limite]+" Multiplo De "+ numero +"\n");
contador++;
}
limite++;
if (limite ==5){
System.out.println("Total de Multiplos Es = "+contador);
}
}


}
}


Programa realizado en eclipse

Y esta la excepción

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5
   at multiplos.multiplos.main(multiplos.java:23)
Título: Re:AYUDA A ESTA EXCEPTION
Publicado por: pedro,, en 23 de Noviembre 2016, 18:22
Hola hpayaresc

Lo primero pedirte que no crees dos veces el mismo hilo, y que revises el hilo que te dejó DRANXZ88, para que puedas coloccar el código adecuadamente, un título adecuado, no escribir todo con mayúsculas, etc.

El error dice que estas intentando acceder a un indice de un array que no existe. El array al que hace referencia contiene 5 elementos, por lo cual los índices del array serán: 0, 1, 2, 3 y 4.
En el while le dices que mientras el índice sea menor o igual a 5, la condición del while debería quedar así: "while(limite < 5)"

Saludos. ;D