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