Nightshifterx Nightshifterx - 1 year ago 91
Java Question

Creating a recursive method for Palindrome

I am trying to create a Palindrome program using recursion within Java but I am stuck, this is what I have so far:

public static void main (String[] args){
System.out.println(isPalindrome("Madam I'm Adam"));
System.out.println(isPalindrome("A man, a plan, a canal, Panama"));
System.out.println(isPalindrome("A Toyota"));
System.out.println(isPalindrome("Not a Palindrome"));

public static boolean isPalindrome(String in){
if(in.equals(" ") || in.length() == 1 ) return true;
in= in.toUpperCase();

public static boolean isPalindromeHelper(String in){
if(in.equals("") || in.length()==1){
return true;

Can anyone supply a solution to my problem?

Answer Source

Here I am pasting code for you:

But, I would strongly suggest you to know how it works,

from your question , you are totally unreadable.

Try understanding this code. Read the comments from code

import java.util.Scanner;
public class Palindromes

    public static boolean isPal(String s)
        if(s.length() == 0 || s.length() == 1)
            // if length =0 OR 1 then it is
            return true; 
        if(s.charAt(0) == s.charAt(s.length()-1))
            // check for first and last char of String:
            // if they are same then do the same thing for a substring
            // with first and last char removed. and carry on this
            // until you string completes or condition fails
            return isPal(s.substring(1, s.length()-1));

        // if its not the case than string is not.
        return false;

    public static void main(String[]args)
        Scanner sc = new Scanner(;
        System.out.println("type a word to check if its a palindrome or not");
        String x = sc.nextLine();
            System.out.println(x + " is a palindrome");
            System.out.println(x + " is not a palindrome");
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download