Tengo problemas con una pregunta de mi clase de programación II y he chocado contra una pared de ladrillos, me preguntaba si alguien podría ayudarme.Comparación de cadenas dobles usando la recursión
La pregunta pide que un usuario ingrese una cadena, el programa para invertir la cadena de entrada y luego para comparar el reverso con el original, esto debe hacerse recursivamente.
hasta ahora tengo:
public class question1
{
public static void main(String args[])
{
String input = JOptionPane.showInputDialog(null, "Please enter a sentence to determine if it is a palindrome.");
String backwardsinput = Reverse(input);
System.out.println(backwardsinput);
boolean Palindrome = PalindromeCheck(backwardsinput, input);
if (Palindrome == true)
{
JOptionPane.showMessageDialog(null,"That is a palindrome!");
}
if (Palindrome == false)
{
JOptionPane.showMessageDialog(null,"That is not a palindrome");
}
}
public static String Reverse (String input)
{
if (input.length() <= 1)
return input;
else
{
char x = input.charAt(input.length()-1);
return x+Reverse(input.substring(0,input.length()-1));
}
}
public static boolean PalindromeCheck (String backwardsinput, String input)
{
if(input.length() == 0 || input.length() == 1)
return true;
if(backwardsinput.charAt(0) == input.charAt(input.length()-1))
return PalindromeCheck(backwardsinput.substring(1, backwardsinput.length()-1), input.substring(1, input.length()-1));
else
return false;
}
}
Mi problema es que me dice que todo es un palíndromo, he mirado una y otra vez y no puedo entender por qué!
Quizás deberían * primero * enseñarle cómo * formatear * su código, luego pasar a otros temas. – Bohemian
Si pudieras señalar lo que estoy haciendo mal o señalarme algunos recursos sobre el tema, te lo agradecería. Solo quiero aprender y hacer el mejor trabajo posible después de todo. – Eogcloud
@Bohemian: No es el peor formato que he visto, ¡es solo el trabajo que necesita más trabajo! Y Eogcloud, ¡me gusta tu código a pesar del formateo y los errores! :-) – Andy