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