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