Crear una función esPalindromo que nos diga si una cadena es palíndroma:
boolean esPalindromo(String cadena)
esPalindromo(“Viva la paella”)->false
esPalindromo(“Sara Baras”)->true
public static void main(String[] args) { String[] cadenas= {"No subas, abusón","Yo dono rosas, oro no doy","No traces en ese cartón"}; System.out.println(esPalindromo("Viva la paella")); System.out.println(esPalindromo("Sara Baras")); System.out.println(esPalindromo("Isaac no ronca así")); for(String cadena:cadenas) { System.out.println(esPalindromo(cadena)); } System.out.println("Con clase"); Palindromo pal=new Palindromo("Dábale arroz a la zorra el abad"); System.out.println(pal.esPalindromo()); } // Una cadena es palíndromo si es igual a ella misma invertida public static boolean esPalindromo(String cadena) { cadena = normalizar(cadena); StringBuilder foo = new StringBuilder(cadena); return cadena.equals(foo.reverse().toString()); } // He creado una función normalizar para otros caracteres public static String normalizar(String cadena) { return cadena.toLowerCase().replace("á", "a").replace("é", "e").replace("í", "i").replace("ó", "o") .replace("ú", "u").replace("ü","u").replace(" ", "").replace(".", "").replace(",", ""); } // La estructura if (condicion) return true else return false es igual a: // return condicion
public class Palindromo { private String cadena; public Palindromo(String cadena) { this.cadena=cadena; } public boolean esPalindromo() { String cad = normalizar(cadena); StringBuilder foo = new StringBuilder(cad); return cad.equals(foo.reverse().toString()); } private String normalizar(String cadena) { return cadena.toLowerCase().replace("á", "a").replace("é", "e").replace("í", "i").replace("ó", "o") .replace("ú", "u").replace("ü","u").replace(" ", "").replace(".", "").replace(",", ""); } }