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:

Deja un comentario

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

error: Content is protected !!

Descubre más desde InfoGonzalez - Blog de formador e informático

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Seguir leyendo

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.