Java - Error de Codigo

 
Vista:
Imágen de perfil de Eduardo

Error de Codigo

Publicado por Eduardo (2 intervenciones) el 08/09/2016 18:04:59
Buenas, tengo poco en java y he estado realizando algunos ejercicios sobre arrays. Tengo el siguiente codigo que busca ingresar el contenido de ambos arrays en otro, pero ordenados de menor a mayor:
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
33
34
35
36
37
38
39
40
41
42
43
package ejercicio7;
 
public class Ejercicio7 {
 
    public static void main(String[] args) {
 
       int y[]={2,5,22,7,9};
       int x[]={11,4,5,9,7};
       int z[];
 
       int i=0;
       int j=0;
       int k=0;
 
 
       for(i=0;i<x.length;i++){
           if(x[i]<=y[j]){
               z[k]=x[i];
               i++;
           }else{
               z[k]=y[j];
               j++;
           }
           k++;
       }
       if(i<=x.length-1){
 
           for(L=i;x.length;L++){
               z[k]=x[L];
               k++;
           }
       }else{
           for(L=i;y.length-1;L++){
               z[k]=y[L];
               k++;
           }
       }
       for(k=0;z.length;z++){
           System.out.println(z[k]);
       }
    }
 
}
No se en que este fallando, agradeceré su 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 Alain
Val: 22
Ha aumentado 1 puesto en Java (en relación al último mes)
Gráfica de Java

Error de Codigo

Publicado por Alain (8 intervenciones) el 08/09/2016 19:46:19
Creo que antes de ponerte a hacer algoritmos de ordenamiento deberías reutilizar los que ya existen que incluso Java tiene algunas implementaciones. Yo trataría de hacer lo siguiente:

Pasar el contenido del array x al array z.
Pasar el contenido del array y al array z.
Ordenar el array z.

La complejidad del algoritmo sigue siendo lineal y el código más legible. Saludos!!!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Arrays;
 
public class Sorting {
 
	public static void main(String[] args) {
 
	       int y[]={2,5,22,7,9};
	       int x[]={11,4,5,9,7};
	       int z[] = new int[x.length + y.length];
 
	       System.arraycopy(y, 0, z, 0, y.length);
	       System.arraycopy(x, 0, z, y.length, x.length);
 
	       Arrays.sort(z);
 
	       for(int i = 0; i< z.length;i ++){
	    	   System.out.println(z[i]);
	       }
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Eduardo

Error de Codigo

Publicado por Eduardo (2 intervenciones) el 09/09/2016 01:01:21
Ya veo, muchas gracias, intente hacerlo por mi cuenta, pero veo que me lo complique mucho, te agradezco.
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