Frequently Asked Java Program 03: Java Program to check if any string is palindrome Using inbuilt Reverse method of Java

Hello Folks,

As part of Frequently Asked Java Programs In Interviews For Freshers And Experienced,  in this post we will see a Java program to verify if a given string is palindrome using inbuilt reverse method.

WHAT IS PALINDROME STRING?

A palindromic string is a string that remains the same when its characters are reversed.

For Example: NAAN, AMMA  etc.

Logic:

  • Java provides two classes StringBuilder and StringBuffer who has reverse() method. Note here that String class has no reverse method.
  • We can convert any string to StringBuilder or StringBuffer using their constructors.
  • There is a trick to compare content of two objects of StringBuffer or StringBuilder which is discussed in below program.

Java Program:

package JavaPrograms;

import java.util.Scanner;

public class PalindromeCharStringUsingStringBuffer {
 public static void main(String[] args) {

  // Taking input from user
  Scanner sc = new Scanner(System.in);
  System.out.println("Please enter the string to know palindrome:");
  String inputByUser = sc.nextLine();
  
  //Converting String in to StringBuilder
  StringBuilder strOriginal = new StringBuilder(inputByUser);
  
  // reversing string
  StringBuilder strReverse = new StringBuilder(strOriginal).reverse();
  
  //since stringBuildr/Buffer do not override equals method so it will not check content
  //To verify content we can use valueOf method of String class. This method class toString() internally.
  if (String.valueOf(strOriginal).equals(String.valueOf(strReverse)))
   System.out.println("Result:Palindrome");
  else
   System.out.println("Result:Not Palindrome");
  
  //Another way to verify content  using toString()
  if ((strOriginal.toString()).equals(strReverse.toString()))
   System.out.println("Result:Palindrome");
  else
   System.out.println("Result:Not Palindrome");
  
  //Using compareTo method
  if ((strOriginal.toString()).compareTo(strReverse.toString()) == 0)
   System.out.println("Result:Palindrome");
  else
   System.out.println("Result:Not Palindrome");


 }
}

Output:

[java]Please enter the string to know palindrome:
AMMA
Result:Palindrome
Result:Palindrome
Result:Palindrome

Please enter the string to know palindrome:
NANA
Result:Not Palindrome
Result:Not Palindrome
Result:Not Palindrome

Please enter the string to know palindrome:
AMMA AMMA
Result:Palindrome
Result:Palindrome
Result:Palindrome
[/java]

 

You can run above program for multiple inputs and if it fails for any condition, let me know.

#HappyCoding

1 thought on “Frequently Asked Java Program 03: Java Program to check if any string is palindrome Using inbuilt Reverse method of Java”

  1. We can also use below approach:

    public static void main(String[] args) {

    System.out.println(“Enter the input string”);
    Scanner sc = new Scanner(System.in);
    String inputString = sc.next();

    sc.close();

    String temp = inputString;
    StringBuilder str = new StringBuilder(temp).reverse();

    if (inputString.equals(str.toString()))
    {
    System.out.println(“Is palindrome using StringBuilder”);
    }

    else {
    System.out.println(“String is not Palindrome !!”);
    }

    }

Leave a Reply

Your email address will not be published. Required fields are marked *