package quesito;
import java.util.Scanner;
public class PalindromoChecker {
public static void main(String[] args) {
// Variable para controlar la repetición del programa
try (Scanner scanner = new Scanner(System.in)) {
// Variable para controlar la repetición del programa
boolean continuar = true;
while (continuar) {
// Solicitar al usuario ingresar una palabra
System.out.println("Ingrese una palabra: ");
String palabra = scanner.nextLine();
// Verificar si la palabra es un palíndromo
if (esPalindromo(palabra)) {
System.out.println(palabra + " es un palíndromo.");
} else {
System.out.println(palabra + " no es un palíndromo.");
}
// Preguntar al usuario si desea ingresar otra palabra
System.out.println("");
System.out.println("¿Desea ingresar otra palabra? (Sí/No): ");
String respuesta = scanner.nextLine().toLowerCase();
// Verificar la respuesta del usuario
if (!respuesta.equals("si")) {
continuar = false;
System.out.println("Programa terminado.");
}
}
}
}
// Método para verificar si una cadena es un palíndromo
private static boolean esPalindromo(String palabra) {
// Eliminar espacios y convertir a minúsculas para ignorar diferencias de mayúsculas y minúsculas
palabra = palabra.replaceAll("\\s", "").toLowerCase();
// Verificar si la palabra es igual a su inversa
String palabraInversa = new StringBuilder(palabra).reverse().toString();
return palabra.equals(palabraInversa);
}
}