
Problema out of bounds
Publicado por Manuel (9 intervenciones) el 05/04/2014 18:04:06
Tengo que hacer este programa: A partir de un arreglo de números enteros, crear un segundo arreglo con el número de dígitos de cada número del arreglo. Tengo la clase main y la clase de los métodos pero cuando ejecuto el programa me sale el siguiente error:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Arreglos_Tarea.digitosArreglo.ingresarDatos(digitosArreglo.java:22)
at Arreglos_Tarea.digitosArreglo_Main.main(digitosArreglo_Main.java:24)
Clase Main
Clase de los métodos:
¿Que puedo hacer?
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Arreglos_Tarea.digitosArreglo.ingresarDatos(digitosArreglo.java:22)
at Arreglos_Tarea.digitosArreglo_Main.main(digitosArreglo_Main.java:24)
Clase Main
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
import java.util.Scanner;
public class digitosArreglo_Main {
/**
* A partir de un arreglo de números enteros, crear un segundo arreglo con el número de dígitos
de cada número del arreglo.
*/
public static void main(String[] args) {
int a = 0;
int arreglo1[] = new int[a];
int arreglo2[] = new int[a];
Scanner input = new Scanner (System.in);
System.out.println("Cantidad numeros:");
a = input.nextInt();
digitosArreglo digitos = new digitosArreglo(a, arreglo1, arreglo2);
digitos.ingresarDatos(a, arreglo1);
digitos.imprimirDatos(a);
}
}
Clase de los métodos:
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
package Arreglos_Tarea;
import java.util.Scanner;
public class digitosArreglo {
private int x;
private int a1[];
private int a2[];
Scanner input = new Scanner (System.in);
public digitosArreglo(int a, int a1[], int a2[]){
this.x=a;
this.a1=a1;
this.a2=a2;
}
public void ingresarDatos(int a, int a1[]){
for (int counterN = 0; counterN < x; counterN++) {
System.out.println("Ingrese #");
a1[counterN] = input.nextInt();
}
}
public void imprimirDatos(int a){
for (int counterN = 0; counterN < x; counterN++) {
System.out.println("\n"+a1[counterN]);
}
}
}
¿Que puedo hacer?
Valora esta pregunta


0