我在編程II類的某個問題上遇到了一些問題,並且遇到了一堵磚牆,想知道是否有人可以提供幫助?使用遞歸進行雙字符串比較
該問題要求用戶輸入一個字符串,該程序將輸入字符串反轉,然後將反轉與原始字符進行比較,這必須遞歸執行。
到目前爲止,我有:
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;
}
}
我的問題是,它告訴我一切都回文,我在這上下打量及以上,不能找出原因!
也許他們應該先*教你如何格式化你的代碼,然後轉到其他主題。 – Bohemian
如果你能指出我做錯了什麼,或者指出我在這方面的一些資源,我會很感激。我只想學習,做我能做的最好的工作。 – Eogcloud
@Bohemian:不是我見過的最糟糕的格式 - 它只是需要一些工作的最高位!和Eogcloud,我喜歡你的代碼,儘管格式和錯誤! :-) – Andy