Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/11/2011, 04:53
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema con métodos en java

El método Busca_secuencial_ordenado es un método estático, es decir, que no es un método que no se llama desde un objeto sino desde la clase.

Por eso, en el método Inserta_ordenado_con_repetición, debes llamarlo así:

Código Java:
Ver original
  1. public void Inserta_ordenado_con_repetición(int[] VECTOR, int num, int K, int N)
  2. {
  3.  
  4. int Y = 0;
  5. int POS = 0;
  6. POS=asd.Busca_secuencial_ordenado(VECTOR, N, num);
  7. if (POS<0){ //No se encontró el arreglo y le asignaremos la casilla
  8. POS = POS*(-1);
  9. }
  10. N = N+1;
  11. for (int I=N; I<(POS+1); I++)
  12. {
  13. VECTOR[I] = VECTOR[I-1];
  14. }
  15. VECTOR[POS] = Y;
  16. }
  17.  
  18. //Vemos si el elemento está ya en el arreglo
  19. public static int Busca_secuencial_ordenado(int[] VECTOR, int N,int num)
  20. {
  21. int POS=0;
  22. int I = 0;
  23. while (I<=N-1 && VECTOR[I]<num)
  24. {
  25. I = I+1;
  26. }
  27.  
  28. if ((I>N-1)||(VECTOR[I]>num))
  29. POS = -I; //No se encuentra en el arreglo
  30. else
  31. POS = I; //Se encontró en el arreglo
  32. return POS;
  33. }

Otro error que tienes es que al llamar al método Busca_secuencial_ordenado no recoges el valor correctamente y fíjate que no tienes que pasar el valor POS porque no lo utilizas para nada.

Te conviene que te mires como se devuelve valores en los métodos antes de intentar realizar cualquier ejercicio.

Saludos.