Programación General > Java
Organizar Letras De Una Palabra
cuper90:
--- Cita de: "hano" --- Creo que un TreeSet te simplificará mucho la vida. El TreeSet mantiene una colección de elemento únicos y ordenados.
Saludos
Luis Javier López Arredondo
--- Fin de la cita ---
Es cierto, el treeset ayuda mucho, ahora lo que hice fue crear un treeset como me dijiste y agregarle uno por uno los caracteres del string, despues solo imprimo el treeset :)
--- Código: Text ---import java.util.*; public class Palabras2{ public static void main(String Args[]){ String palabra = "supercalifragilistico"; TreeSet letrasOrdenadas = new TreeSet(); for(int i=0; i<palabra.length(); i++){ letrasOrdenadas.add(palabra.charAt(i)); } System.out.println(letrasOrdenadas); } }
y la salida es esta: [a, c, e, f, g, i, l, o, p, r, s, t, u]
pero para mis propositos necesito pasar el contenido del treeset a un array.... y no se como :(
otra opcion seria saber como "llamar" o hacer referencia a cada elemento del treeset y con un for imprimirlo...pero tampoco se como.... :o
lei la pagina pero no encontre como hacerlo
PD para lencho: no supe como armar el "if NoExiste"
silverfox:
Hola...
--- Citar ---pero para mis propositos necesito pasar el contenido del treeset a un array.... y no se como
--- Fin de la cita ---
Si echáseis un vistazo de vez en cuando al API de java, en la parte de TreeSet, veríais que tiene un método que se llama toArray y que, además de convertir en array, si los elementos tienen un orden determinado, te los devuelve exactamente en el mismo orden...
Un saludo.
Silverfox
cuper90:
No me funca :(
--- Código: Text --- String[] y = letrasOrdenadas.toArray(new String[0]); System.out.println(y);
me da error
igual que asi
--- Código: Text --- char[] y = letrasOrdenadas.toArray(new char[0]);
silverfox:
Hola...
Piensa un poco en lo que has escrito:
--- Citar ---
--- Código: Text ---new String[0]
--- Fin de la cita ---
Estás reservando espacio para un arry de 0 posiciones...
Lo mismo te pasa con el de new char[0].
Prueba con
--- Código: Text ---String[] y = letrasOrdenadas.toArray(new String[letrasOrdenadas.size()]);
A ver si tira mejor.
Un saludo.
Silverfox
cuper90:
Gracias, pero no funciona, siempre me salen estos errores:
como sugerias:
--- Código: Text --->javac Palabras2.javaPalabras2.java:14: incompatible typesfound : java.lang.Object[]required: java.lang.String[] String[] y = letrasOrdenadas.toArray(new String[letrasOrdenadas.size()]); ^Note: Palabras2.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.1 error>Exit code: 1
aunque le ponga un tamaño especifico
--- Código: Text --->javac Palabras2.javaPalabras2.java:14: incompatible typesfound : java.lang.Object[]required: java.lang.String[] String[] y = letrasOrdenadas.toArray(new String[20]); ^Note: Palabras2.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.1 error>Exit code: 1
aunque ponga un arreglo de char's
--- Código: Text --->javac Palabras2.javaPalabras2.java:14: cannot find symbolsymbol : method toArray(char[])location: class java.util.TreeSet char[] y = letrasOrdenadas.toArray(new char[20]); ^Note: Palabras2.java uses unchecked or unsafe operations.Note: Recompile with -Xlint:unchecked for details.1 error>Exit code: 1
no le entiendo la verdad ya lo intenté de todas formas posibles :brickwall:
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa