Java - Duda con llenado de arreglo

 
Vista:

Duda con llenado de arreglo

Publicado por Marco (1 intervención) el 06/12/2020 14:26:43
Buenas, tengo una duda con un problema que dice llenar dos arreglos de 10 numeros de manera creciente y luego sumarlos para crear un nuevo arreglo de 20 numeros de igual manera ordenados
mi duda es en el llenado del tercer arreglo lo plantie asi :

1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < 20; i++) {
    if (arr1[cont1]<=arr2[cont2])
    {
        arr3[i]=arr1[cont1];
        cont1++;
 
    }
    else {
        arr3[i]=arr2[cont2];
        cont2++;
    }
}
los contadores los inicie en 0 previamente y ya los dos arr1 y arr2 estan llenos y ordenados, sin embargo a la hora de ejecutar me salta error en la primera condicional del for

1
if (arr1[cont1]<=arr2[cont2])
puedo buscar otras maneras de resolverlo pero mi duda es que no comprendo porque da error mis sospechas era que usaba contadores en la posicion de un arreglo pero ya lo he usado en otros ejercicios gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Duda con llenado de arreglo

Publicado por Rodrigo (623 intervenciones) el 06/12/2020 16:23:23
El problema ocurre cuando uno de los 2 arreglos se termina.
Para comprobarlo, escribe los valores de los indices justo antes del if problematico.
Para resolverlo, una posibilidad es que la condicion actual del if no sea la primera que preguntes, sino que preguntes primero si alguno de los indices ya llego al final del arreglo, entonces si se termino uno de los arreglos, se copia directamente del otro (faltarian 2 if)

1
2
3
4
5
if( se termina el primer arreglo ) {
   copiar del segundo
} else if( se termina el segundo arreglo ) {
   copiar del primero
} else if (arr1[cont1]<=arr2[cont2]) ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar