error en java con arreglos.
Publicado por Adrian (2 intervenciones) el 06/10/2022 01:47:43
Buenas tardes, podrían ayudarme con este error que me aparece en Java porfavor? soy nuevo programando y quiero aprender poco a poco, y este error que me sale al compilarlo no lo he podido solucionar.
El código es el siguiente, junto con el ejercicio:
import java.util.Scanner;
/**
* Leer los datos de dos tablas de 12 elementos y mezclarlos en una tercera
* de la forma: 3 de la tabla A, 3 de la tabla B, otros 3 de la A,
* otros 3 de la B, etc...
* @author adrian
*
*/
public class Ejercicio_4 {
public Ejercicio_4() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada= new Scanner(System.in);
int a[], b[], c[];
int i=0;
int j=0;
a = new int[12];
b = new int[12];
c = new int[24];
System.out.println("Creando primera tabla");
for(i=0; i<12; i++) {
System.out.print("Digite los números de la tabla A: ");
a[i]= entrada.nextInt();
}
System.out.println("Creando segunda tabla");
for(i=0; i<12; i++) {
System.out.print("Digite los números de la tabla B: ");
b[i]= entrada.nextInt();
}
int k=0;
while(i<12) { //ES 12 PORQUE LOS ELEMENTOS DE A Y B ES 12.
for(k=0; k<3; k++) { //SE COPIAN LOS 3 PRIMEROS ELEMENTOS DE A.
c[j]= a[i+k];
j++;
}
for(k=0; k<3; k++) {
c[j]= b[i+k];
j++;
}
i+=3;
}
System.out.println("Al unir la tabla A con la tabla b, quedaría: ");
for(i=0; i<24; i++);
System.out.print(c[i]+" ");
}
}
AHORA, A LA HORA DE COMPILAR CORREN BIEN LOS ARREGLOS A Y B PERO EL C PRESENTA ESTE ERROR.
Creando primera tabla
Digite los números de la tabla A: 1
Digite los números de la tabla A: 2
Digite los números de la tabla A: 3
Digite los números de la tabla A: 4
Digite los números de la tabla A: 5
Digite los números de la tabla A: 6
Digite los números de la tabla A: 7
Digite los números de la tabla A: 8
Digite los números de la tabla A: 9
Digite los números de la tabla A: 10
Digite los números de la tabla A: 11
Digite los números de la tabla A: 12
Creando segunda tabla
Digite los números de la tabla B: 1
Digite los números de la tabla B: 2
Digite los números de la tabla B: 3
Digite los números de la tabla B: 4
Digite los números de la tabla B: 5
Digite los números de la tabla B: 6
Digite los números de la tabla B: 7
Digite los números de la tabla B: 8
Digite los números de la tabla B: 9
Digite los números de la tabla B: 10
Digite los números de la tabla B: 11
Digite los números de la tabla B: 12
Al unir la tabla A con la tabla b, quedaría:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 24 at Ejercicio_4.main(Ejercicio_4.java:64)
SI ME PUDIERAN AYUDAR SE LOS AGRADECERÍA.
Saludos.
El código es el siguiente, junto con el ejercicio:
import java.util.Scanner;
/**
* Leer los datos de dos tablas de 12 elementos y mezclarlos en una tercera
* de la forma: 3 de la tabla A, 3 de la tabla B, otros 3 de la A,
* otros 3 de la B, etc...
* @author adrian
*
*/
public class Ejercicio_4 {
public Ejercicio_4() {
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner entrada= new Scanner(System.in);
int a[], b[], c[];
int i=0;
int j=0;
a = new int[12];
b = new int[12];
c = new int[24];
System.out.println("Creando primera tabla");
for(i=0; i<12; i++) {
System.out.print("Digite los números de la tabla A: ");
a[i]= entrada.nextInt();
}
System.out.println("Creando segunda tabla");
for(i=0; i<12; i++) {
System.out.print("Digite los números de la tabla B: ");
b[i]= entrada.nextInt();
}
int k=0;
while(i<12) { //ES 12 PORQUE LOS ELEMENTOS DE A Y B ES 12.
for(k=0; k<3; k++) { //SE COPIAN LOS 3 PRIMEROS ELEMENTOS DE A.
c[j]= a[i+k];
j++;
}
for(k=0; k<3; k++) {
c[j]= b[i+k];
j++;
}
i+=3;
}
System.out.println("Al unir la tabla A con la tabla b, quedaría: ");
for(i=0; i<24; i++);
System.out.print(c[i]+" ");
}
}
AHORA, A LA HORA DE COMPILAR CORREN BIEN LOS ARREGLOS A Y B PERO EL C PRESENTA ESTE ERROR.
Creando primera tabla
Digite los números de la tabla A: 1
Digite los números de la tabla A: 2
Digite los números de la tabla A: 3
Digite los números de la tabla A: 4
Digite los números de la tabla A: 5
Digite los números de la tabla A: 6
Digite los números de la tabla A: 7
Digite los números de la tabla A: 8
Digite los números de la tabla A: 9
Digite los números de la tabla A: 10
Digite los números de la tabla A: 11
Digite los números de la tabla A: 12
Creando segunda tabla
Digite los números de la tabla B: 1
Digite los números de la tabla B: 2
Digite los números de la tabla B: 3
Digite los números de la tabla B: 4
Digite los números de la tabla B: 5
Digite los números de la tabla B: 6
Digite los números de la tabla B: 7
Digite los números de la tabla B: 8
Digite los números de la tabla B: 9
Digite los números de la tabla B: 10
Digite los números de la tabla B: 11
Digite los números de la tabla B: 12
Al unir la tabla A con la tabla b, quedaría:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 24 at Ejercicio_4.main(Ejercicio_4.java:64)
SI ME PUDIERAN AYUDAR SE LOS AGRADECERÍA.
Saludos.
Valora esta pregunta


0