Skip to content

Instantly share code, notes, and snippets.

@parzibyte
Created January 28, 2019 23:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save parzibyte/02171153af9adf67071a2be33a0dcde3 to your computer and use it in GitHub Desktop.
Save parzibyte/02171153af9adf67071a2be33a0dcde3 to your computer and use it in GitHub Desktop.
Palíndromo en Java created by parzibyte - https://repl.it/@parzibyte/Palindromo-en-Java
class Main {
public static void main(String[] args) {
String[] cadenas = { "La ruta natural", "Esto no es", "Parzibyte", "Hola", "Sol", "Ana", "Oro", "Oso",
"A ti no, bonita",
"Adivina ya te opina, ya ni miles origina, ya ni cetro me domina, ya ni monarcas, a repaso ni mulato carreta, acaso nicotina, ya ni cita vecino, anima cocina, pedazo gallina, cedazo terso nos retoza de canilla goza, de pánico camina, ónice vaticina, ya ni tocino saca, a terracota luminosa pera, sacra nómina y ánimo de mortecina, ya ni giros elimina, ya ni poeta, ya ni vida",
"A mamá, Roma le aviva el amor a papá y a papá, Roma le aviva el amor a Mamá", "Me gusta programar en Java" };
for (String cadena : cadenas) {
System.out.println("¿'" + cadena + "' es palíndromo? " + esPalindromo(cadena));
}
}
/**
Comprobar si es palíndromo en Java
@author parzibyte
*/
public static boolean esPalindromo(String cadena) {
// Convertir a minúscula y quitar espacios " ", puntos "." y comas ","
// También remplazar palabras con acento p.ej. í => i
cadena = cadena.toLowerCase().replace("á", "a").replace("é", "e").replace("í", "i").replace("ó", "o")
.replace("ú", "u").replace(" ", "").replace(".", "").replace(",", "");
// Invertir la cadena, y si es igual que la original entonces
// son palíndromos
String invertida = new StringBuilder(cadena).reverse().toString();
// Para invertir recomiendo ver
// https://parzibyte.me/blog/2019/02/20/invertir-cadena-string-java/
return invertida.equals(cadena);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment