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
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 !!”);
}
}