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