Saltar al contenido

Reto Frases Palíndromas en Java

Hola querido lector, hoy quiero hacer un reto que he visto en acepta el reto, la verdad bastante entretenido, y en el cual me he entretenido a la hora de hacerlo, la mayor parte del código está basado en otros proyectos que he trabajado aquí en mi blog, que son el de los patrones (pattern) y el de invertir una palabra.
Y es que en el mundo de la programación si puedes evitar reinventar la rueda, evítalo, muchas veces es mejor usar una librería o framework que haga lo mismo que haces tu, pero más eficiente y mucho más probado.
Debo de decir que he recibido alguna queja por copyright por parte de Facebook, con respecto a estos tutoriales, así que abajo dejo el enlace al ejercicio completo, espero que no moleste, pero es la única forma de publicar este tutorial.
En cuanto a la codificación UTF-8 he tenido problemas en cuanto a mi portátil, más abajo les dejo la opción de NetBeans que yo he usado para que funcione con ISO-8859-1 , sin más les dejo el enunciado de acepta el reto:
Por aquí dejo mi código:
        try {

            String frase = «»;
            String fraseInvertida = «»;
            Scanner sca = new Scanner(System.in);
            System.out.println(«Pongame una frasen»);
            frase = sca.nextLine().toString();//Ponemos nuestra variable
            frase = frase.toLowerCase();
            frase = frase.replaceAll(«[ ]», «»);
            frase = frase.replaceAll(«á», «a»);
            frase = frase.replaceAll(«é», «e»);
            frase = frase.replaceAll(«í», «i»);
            frase = frase.replaceAll(«ó», «o»);
            frase = frase.replaceAll(«ú», «u»);
            frase = frase.replaceAll(«à», «a»);
            frase = frase.replaceAll(«è», «e»);
            frase = frase.replaceAll(«ì», «i»);
            frase = frase.replaceAll(«ò», «o»);
            frase = frase.replaceAll(«ù», «u»);

            Pattern patNac = Pattern.compile(«[a-zA-Z0-9]+»);// Creo el patrón
            Matcher matNac = patNac.matcher(frase);//
            if (!matNac.matches()) {
                throw new Exception(«Error, debes de poner una frase válida»);
            }

            int longitud = (int) frase.length() – 1;

            do {
                fraseInvertida = fraseInvertida + frase.charAt(longitud);//nos devuele el carácter en la posición
                longitud = longitud – 1;//vamos restando posiciones
            } while (longitud >= 0);

            if (frase.equals(fraseInvertida)) {
                System.out.println(«SI»);
            } else {
                System.out.println(«NO»);
            }
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
Eso es todo, espero que hayan aprendido algo, si te gustó mi artículo puedes dejar un comentario en blogger o escribirme a mi página en Facebook llamado Tomhard Computer, muchas gracias por leerme y hasta la próxima
FUENTE:

Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.

Tomas Gonzalez
error: Content is protected !!
Este sitio web utiliza cookies, si necesitas más información puedes visitar nuestra política de privacidad    Ver
Privacidad
Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
A %d blogueros les gusta esto: