このメソッドは、xoxなどの小さな入力に対してのみ機能しますが、taco catのような複雑な入力では機能しません。私はこのコードを繰り返し読んで、問題を解決できませんでした。私は、構造的に私のアプローチを調整しようとしているコードを変更し、それを修正することができなかったので、小さなエラーがあると仮定します。修正する再帰的なPalindromeチェッカー
import java.util.Scanner;
public class Palindromes
{
static Scanner scan = new Scanner(System.in);
public static void main (String[] args)
{
System.out.println("Enter a string, human:");
String s=scan.nextLine();
if(palindrome(s)){
System.out.print("This is a palindrome, I am amused Earthling.");
}else{
System.out.print("Don't you know to speak only in palindromes to your alien Overlord?");
}
}
public static boolean palindrome(String s){
s.replace(" ","");
if(s.length()<2){
return true;
}else if(s.charAt(0)==s.charAt(s.length()-1)){
return palindrome(s.substring(1,s.length()-2));
}else{
return false;
}
}
}
あなたはブレークポイントを設定し、方法をステップ実行するために、デバッガを使用してみましたか? –
'String'sは不変です。 's = s.replace(" "、" ");' – bcsb1001