Programación General > Java
Anagrama
(1/1)
lesca:
buenas gente
otra vez posteando en el foro pq realmente necesito ayuda
estoy estudiando para un final en la facultad y no c como realizar un ejercicio
el ejercicio pide hacer un programa q diga si dos fraces son anagramas es decir si tienen las mismas letras pero en diferente orden
lo q yo he echo es mediante una funcion limpiar las fraces de puntos, comas y/o espacios luego de tener la frace limpia con el metodo ToUpperCase dejo las fraces en mayusculas aqui entra mi problema ahora quiero ordenar alfabeticamente los Strings pasandolos a un arreglo char y utilizando java.util.Arrays.sort pero en este punto hay algo q hago mal les dejo el codigo espero q puedan ayudarme desde ya muchas gracias
--- Código: Java ---public class Main { public static void main(String[] args) { String frase1="Dan el gran guia"; String frase2="Angel Gurdian"; String frase1Limpia=""; String frase2Limpia=""; String fraseOrdenada1=""; frase1Limpia=limpiar(frase1); frase2Limpia=limpiar(frase2); frase1Limpia=frase1Limpia.toUpperCase(); frase2Limpia=frase2Limpia.toUpperCase(); System.out.println(""+frase1Limpia+"n"+frase2Limpia); fraseOrdenada1=orden(frase1Limpia); System.out.println(""+fraseOrdenada1); } public static String limpiar(String f){ String fraseLimpia=""; for (int x=0; x < f.length(); x++) { if (f.charAt(x) != ' '&& f.charAt(x) != ','){ fraseLimpia=fraseLimpia+f.charAt(x); } } return fraseLimpia; } // En esta funcion esta mi problema!!!!! public static String orden(String frase){ int a=frase.length();char n[]= new char[a];frase.getChars(0, a, n, 0);java.util.Arrays.sort(n); frase=n.toString();return frase; } }
grandzam:
Bueno, jeje solo me he enfocado en la función en la que tienes el problema, prueba esto:
--- Código: Java ---// En esta funcion esta mi problema!!!!! public static String orden(String frase){ char[] a_frase= frase.toCharArray(); Arrays.sort(a_frase); String s_frase = new String(a_frase); System.out.println(s_frase); //Si quieres elimina esta linea, solo imprime la linea ya ordenada return s_frase; }
Casi es igual, solo que en lugar de hacer un new char, lo obtengo directamente de la frase, el sort es lo mismo, solo que lo importe (al inicio del programa y antes de class:
--- Código: Java ---import java.util.Arrays; ) y para volver a construir una string ps use un constructor de String al que si le pasas un arreglo de caracteres ps te forma una String. y ps eso es todo, espero te haya ayudado. :D
e-proyect.com
lesca:
Realmente muachas muchas gracias amigo me sirvio realmente de ayuda hace rato intentaba y no lograba hacerlo me ha servido de mucha ayuda pq con esto estoy estudiando para un final en la facultad
Navegación
Ir a la versión completa