Java - eliminar caracteres iguales

 
Vista:

eliminar caracteres iguales

Publicado por AXª (4 intervenciones) el 15/04/2007 21:05:30
Holas tengo una pregunta...
estoy creando un programa pero me falta un pasa muy importante
que es eliminar los caracteres iguales de un string por ejemplo si me ingrresan

colacion
tiene que retornar
colain

bueno vale!
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

RE:eliminar caracteres iguales

Publicado por Gonzalo (180 intervenciones) el 15/04/2007 22:07:50
¿Y eso es una parte muy importante de tu programa o es un ejercicio que te pusieron?
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

RE:eliminar caracteres iguales

Publicado por Axº (4 intervenciones) el 16/04/2007 01:18:15
no es solo una parte pk el ejercicio es muxo mas largo es de crear metodos y luego un programa
eso de eliminar caracteres iguales es lo k me falta y no se como hacerlo

Bueno gracaias
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

RE:eliminar caracteres iguales

Publicado por galeginho (34 intervenciones) el 16/04/2007 13:11:55
lo puedes hacer con un bucle for, en el que en cada pasada lees un caracter del String como char (charAt(i)) y lo guardas en otro string auxiliar, lo puedes hacer con aux += charLeido. para cada caracter que lees compruebas si ya esta en el auxiliar(aux.contains(char)), pos lo borras(repacle("")) y asi hasta que acabes.

espero haberme expersado bien

saludos!
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

RE:eliminar caracteres iguales

Publicado por Francis (16 intervenciones) el 18/04/2007 09:34:57
ahí te va una función recursiva que he extraído de un algoritmo de Haskell.

http://www.csse.monash.edu.au/~lloyd/tildeFP/Haskell/1998/List/

se puede pasar a iterativo con el típico plegado desplegado, pero como no me apetece pensar te pongo la función en recursivo.

public static String removerDuplicados(String pString) {
String subString;
String aux = "";
int longitud;
if ((longitud = pString.length()) > 0) {
if ((subString = pString.substring(0,longitud-1)).contains(aux = String.valueOf(pString.charAt(longitud-1)))) {
return removerDuplicados(subString);
} else {
return removerDuplicados(subString) + aux;
}
} else
return "";

}

que te sea util.

Un saludo
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