¿Ayuda con Programa en Java porfavor D:?

import java.util.Scanner;

public class Arreglos{

public static void main(String args []){

int i,j=0,k=0,num,numPar=0,numImpar=0;

Scanner teclado=new Scanner(System.in);

int [] Par= new int [numPar];

int [] Impar= new int [numImpar];

System.out.println("Introduzca el numero de valores a ordenar");

num= teclado.nextInt();

int [] A = new int [num];

System.out.println("Introduzca los valores a ordenar");

for (i=0;i<num;i++){

A[i]= teclado.nextInt();

}

for (i=0;i<num;i++){

if((A[i]%2)==0){

numPar=numPar+1;

}

else{

numImpar=numImpar +1;

}

}

System.out.println("par"+numPar+"Impar"+numImpar);

for(i=0;i>=num;i++){

if ((A[i]%2)==0){

Par[j]=A[i];

j=j+1;

}

else{

Impar[k]=A[i];

k=k+1;

}

}

System.out.println("los numeros introducidos son:");

for(i=0;i<num;i++){

System.out.println(A[i]);

}

System.out.println("Los numeros pares son:");

for(i=0;i<=numPar;i++){

System.out.println(Par[i]); <------------------- Error

}

System.out.println("Los numeros Impares son:");

for(i=0;i<=numImpar;i++){

System.out.println(Impar[i]);

}

}

}

Me marca un error en la linea 41 --- Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1

at Arreglos.main(Arreglos.java:41)

Actualizar:

El programa es para ordenar números introducidos en Pares e Impares en matrices o arreglos diferentes

2 respuestas

Calificación
  • hace 8 años
    Respuesta favorita

    Si eso pasa cuando usas un for y ese for da demasiada vueltas que se le pasa al tamaño del array.

    Es como por ejemplo que tienes un array de 3 index y el for recorre 5 veces, eso arroja una exeception...

    Y otra cosa: un array es ESTATICO lo que significa que no puedes hacer crecer el tamaño de un array con un for.

    No puedes poner que con el for, el array te vaya aumentado de 1,2,3,4,5,6,7,8 etc etc. Es imposible, es esa la razon por la que siempre se marca desde el principio cuando indexes va a tener ese array. Y si lo intentas veras como te da un error(que a mi parecer, es ese el error que tienes)

  • Anónimo
    hace 8 años

    si mas i no me equiboco solo quitale el igual a

    for(i=0;i<=numPar;i++) //mal

    for(i=0;i<numPar;i++)// bien

    ya que tu error esq te estaas saliendo del tamaño del arreglo

    java.lang.ArrayIndexOutOfBoundsException…

    eso es lo que dice ese error

    ya q si par vale 5 y si inicias desde el cero (0) a i entonces recorrerias 6 posiciones

    0 1 2 3 4 5 ya q tienes q i tiene q ser iagual a numPar

    pero si lo pones solo < i solamente recorrera 5 posiciones q es lo q mide tu arreglo

    0 1 2 3 4

    recuerda q como los arregos empiezan desd el cero (0) siempre q quieras recorrelos es el tamaño del arreglo - 1

    Fuente(s): uso java
¿Aún tienes preguntas? Pregunta ahora y obtén respuestas.