Когда я пытаюсь запустить эту программу, возникает бесконечный цикл. Я не могу определить, находится ли проблема в основном методе или в рекурсивном методе.Рекурсия палиндрома - бесконечная петля
Вот рекурсивный метод.
public class RecursivePalindrome
{
public boolean isPalindrome(String s)
{
if(s.length() <= 1)
{
return true;
}
else if(s.charAt(0) == s.charAt(s.length() - 1))
{
return isPalindrome(s.substring(1,s.length() - 1));
}
else
{
return false;
}
}
}
Вот основной метод.
public class RecursivePalindromeTester
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter a word or phrase. Type Q to quit: ");
String word = in.next();
RecursivePalindrome object = new RecursivePalindrome();
while(!word.equalsIgnoreCase("Q"))
{
if(object.isPalindrome(word))
{
System.out.println(word + " is a palindrome");
}
else
{
System.out.println(word + " is not a palindrome");
}
}
System.out.print("Enter another word or phrase. Type Q to quit: ");
word = in.next();
}
}
@lurker «endIndex» является эксклюзивным. – user2336315