Foros del Web » Programación para mayores de 30 ;) » Java »

Problema con métodos en java

Estas en el tema de Problema con métodos en java en el foro de Java en Foros del Web. Hola amigos, verán, tengo que hacer un programa que elimine elementos repetidos de un arreglo con un algoritmo que nos puso el maestro (tiene que ...
  #1 (permalink)  
Antiguo 02/11/2011, 14:28
 
Fecha de Ingreso: noviembre-2011
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Problema con métodos en java

Hola amigos, verán, tengo que hacer un programa que elimine elementos repetidos de un arreglo con un algoritmo que nos puso el maestro (tiene que ser éste, no puede ser otro =S )

Bueno, el caso es que no sé como hacerlo, porque no sé como declarar los métodos y al momento del return del POS no me manda nada =(

Si me pueden ayudar se los agradeceré enormemente

//Elimina elementos repetidos de un arreglo
import java.util.*;

public class asd
{
public static void main (String args [])
{
Scanner leer = new Scanner (System.in);

asd llamar = new asd();

System.out.print ("Cuantos números se van a leer: (de 1 a 10)");
int N = leer.nextInt();

while (N<1 || N>10)
{
System.out.print ("Cuantos números se van a leer: (de 1 a 10))");
N = leer.nextInt();
}

int K = 0;
int[] VECTOR = new int[10];

System.out.print ("Introduzca número "+K);
VECTOR[K] = leer.nextInt();

while (K<N-1)
{
System.out.print ("Introduzca número "+(K+1));
int Num = leer.nextInt();

llamar.Inserta_ordenado_con_repetición(VECTOR, Num, K, N, 0);
K = K+1;
}

System.out.print ("Arreglo de números enteros con elementos repetidos");

for (int I=1; I<N-1; I++)
{
System.out.print (VECTOR[I]);
}
K = 0;
while(K<N-1)
{
if(VECTOR[K] == VECTOR[K+1])
{
N = N-1;
for(int I=(K+1); I<N-1; I++)
{
VECTOR[I] = VECTOR[I+1];
}
}
else
K = K+1;

}

System.out.print ("Arreglo de números enteros sin elementos repetidos");
for (int I=0; I<N-1; I++)
{
System.out.print (VECTOR[I]);
}
}



//Insertamos los elementos
public void Inserta_ordenado_con_repetición(int[] VECTOR, int num, int K, int N, int POS)
{

int Y = 0;

Busca_secuencial_ordenado(VECTOR, N, POS, num);
if (POS<0){ //No se encontró el arreglo y le asignaremos la casilla
POS = POS*(-1);
}
N = N+1;
for (int I=N; I<(POS+1); I++)
{
VECTOR[I] = VECTOR[I-1];
}
VECTOR[POS] = Y;
}

//Vemos si el elemento está ya en el arreglo
public static int Busca_secuencial_ordenado(int[] VECTOR, int N,int POS, int num)
{
int I = 0;
while (I<=N-1 && VECTOR[I]<num)
{
I = I+1;
}

if ((I>N-1)||(VECTOR[I]>num))
POS = -I; //No se encuentra en el arreglo
else
POS = I; //Se encontró en el arreglo
return POS;
}
}
  #2 (permalink)  
Antiguo 03/11/2011, 04:53
 
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.
  #3 (permalink)  
Antiguo 03/11/2011, 19:37
 
Fecha de Ingreso: noviembre-2011
Mensajes: 5
Antigüedad: 12 años, 5 meses
Puntos: 0
Respuesta: Problema con métodos en java

Hola alexg88 de verdad te agradezco que hayas sido el único interesado en ayudarme, de verdad lo valoro mucho y fue muy útil tu explicación era eso exactamente lo que tenía duda.

Sigue así

Saludos desde Inglaterra =)
  #4 (permalink)  
Antiguo 04/11/2011, 10:20
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 2 meses
Puntos: 78
Respuesta: Problema con métodos en java

Hola arturicaz,
solo un consejo, la próxima vez que postees código ponlo resaltado para que se entienda mejor. Yo mismo vi tu POST y al ver todo el código sin colorear, ni me molesté en leerlo. Estoy seguro que a más gente le habrá pasado como a mi.

Un saludo!!!!

Etiquetas: string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:17.