A palindrome is a phrase, phrase, quantity, or sequence of characters that reads the identical backward and forwards. This weblog talks about the best way to verify for a palindrome in Java with the assistance of a program. Earlier than we study palindrome in Java, we’ll perceive the idea of the palindrome.
Let’s get began!
- What’s Palindrome?
- What’s a Palindrome quantity?
- What’s a Palindrome string?
- What’s a Palindrome phrase?
- Palindrome Program in Java utilizing whereas loops
- Palindrome Program in Java utilizing for loops
- Palindrome Program in Java utilizing recursion
- Palindrome Program in Java utilizing library technique
- Conclusion
- Continuously Requested Questions
What’s Palindrome?
A Palindrome is a phrase or phrase that’s spelled the identical even within the backward route (ignoring spacing, punctuations, and capitalization).
A Palindrome quantity is a quantity that is still the identical even after reversing, e.g., .161,24542,848, 38983. It is usually a string or sequence of characters, i.e., it has the identical sequence of letters when studying forwards and backward instructions.
Instance:
What’s a Palindrome Quantity?
A palindrome quantity is a quantity that is still the identical when its digits get reversed. Ex: 15451, for instance: If we take 131 and reverse it, then after reversing, the quantity stays the identical.
Steps to Palindrome quantity program
- Enter the quantity from the consumer.
- Then Reverse it.
- Evaluate the quantity with the quantity entered by the consumer.
- If each the no.’s are the identical, then print the quantity as a palindrome
- Else print, not a palindrome.
Palindrome Quantity Program in Java
import java.util.Scanner;
class expalindrome
{
public static void foremost(String args[])
{
int x,quantity, y=0,temp=0;
Scanner s=new Scanner(System.in);
System.out.println("Enter any quantity: ");
quantity=s.nextInt();
x=quantity;
whereas(quantity>0)
{
x=numberpercent10;
quantity=quantity/10;
temp=temp*10+x;
}
if(temp==y)
{
System.out.println("Quantity is Palindrome");
}
else
{
System.out.println("not Palindrome");
}
}
}
Output:
Enter any Quantity:
161
Quantity is Palindrome
Study extra about palindrome programming with the assistance of those Java interview questions.
What’s a Palindrome String?
A Palindrome String is a string that is still the identical when learn in a ahead or backward route.
Java program to search out if a string is a palindrome
public class Palindrome
{
public static void foremost(String args[])
{
String x, y = "";
Scanner a = new Scanner(System.in);
System.out.print("Enter string you need to verify:");
x = a.nextLine();
int l = x.size();
for(int okay = l - 1; okay >= 0; k--)
{
y = y + x.charAt(okay);
}
if(x.equalsIgnoreCase(y))
{
System.out.println("The string is palindrome.");
}
else
{
System. out.println("The string isn't a palindrome.");
}
}
}
Output:
Enter the string you need to verify:
NeveroddorEVen
The string is a palindrome.
What’s a Palindrome Phrase?
Palindrome might include a Sentence or Phrase Ex: Mr. Kate ate my Silver worm”, “Do John see God?” . Punctuation, capital letters, and areas are normally ignored for Ex: “cats dwell on no evil star” and “Steps on no cats” embrace the areas.
Java program to search out if a sentence is a palindrome
public class GFG
{
// To verify sentence is palindrome or not
static boolean sentencePalindrome(String str)
{
int j = 0;
int i = str.size()-1;
// Lowercase string
str = str.toLowerCase();
// Compares character till they're equal
whereas(j <= i)
{
char getAtj = str.charAt(j);
char getAti = str.charAt(i);
// If there's one other image in left
// of sentence
if (!(getAtj >= 'a' && getAtj <= 'z'))
j++;
// If there's one other image in proper
// of sentence
else if(!(getAti >= 'a' && getAti <= 'z'))
i--;
// If characters are equal
else if( getAtj == getAti)
{
j++;
i--;
}
// If characters will not be equal then
// sentence isn't palindrome
else
return false;
}
// Returns true if sentence is palindrome
return true;
}
// Driver program to check sentencePallindrome()
public static void foremost(String[] args)
{
String str = "Too sizzling to hoot.";
if( sentencePalindrome(str))
System.out.println("Sentence is palindrome");
else
System.out.println("Sentence isn't" + " " +
"palindrome");
}
}
Pre-requisites:
- Scanner class (to acquire consumer enter)
- Recursion
- For loop
- Whereas loop
- If – else statements
Palindrome Program in Java utilizing whereas loops (integer)
Algorithm
- START
- Take enter from the consumer or initialize it manually (num).
- Retailer the enter in a brand new variable (component).
- Till num isn’t equal to zero, discover the rest of the num and retailer it in a variable (reverse).
- Divide the num by ten and repeat step 3 utilizing some time loop.
- Verify if the component is the same as the reverse.
- Whether it is equal,
- Print it’s a palindrome
- Else print, it’s not a palindrome.
- END
Code Snippet
import java.util.*;
class Major {
public static void foremost(String[] args) {
Scanner inp= new Scanner(System.in);
System.out.print("Enter the quantity: ");
int num= inp.nextInt();
int reverse=0, component, the rest;
component = num;
whereas(num!=0){
the rest= num % 10;
reverse = (reverse * 10) + the rest;
num = num / 10;
}
if (component == reverse){
System.out.println("Sure, it's palindrome");
}
else{
System.out.println("No, it's not palindrome");
}
}
}
Conclusion: Right here, a “whereas” loop is used to iteratively verify the digits within the enter till it turns into zero. Contained in the whereas loop, the modulus of the quantity is taken. It’s then saved in a variable reverse for each iteration to acquire the precise reverse of the enter. Lastly, the reversed phrase is in comparison with the unique quantity to conclude if it’s a palindrome or not.
Clarification:
For instance, num = 252
Reminder=numpercent10 | 252 % 10 = 2 | 25 % 10 = 5 | 2 % 10 = 2 |
reverse = (reverse * 10) + the rest | (0 * 10) + 2 = 2 | (2 * 10) + 5 = 25 | (25 * 10) + 2 = 252 |
num = num / 10 | 252 / 10 = 25 | 25 /10 = 2 | 2 / 10 = 0 |
num!=0 | 25! = 0 [continue] | 2! = 0 [continue] | 0 = 0 [stop] |
Subsequently, reverse and num are finally equal, which proves to us that it’s a palindrome.
Palindrome Program in Java utilizing FOR loop (integer)
Algorithm
- START
- Take enter from the consumer or initialize it manually (num).
- Retailer the enter in a brand new variable (component).
- Till num isn’t equal to zero, discover the rest of the num and retailer it in a variable (reverse).
- Divide the num by ten and repeat step 3 utilizing a FOR loop.
- Verify if the component is the same as the reverse.
- If they’re equal,
- Print it’s a palindrome
- Else print, it’s not a palindrome.
- END
Code Snippet
import java.util.*;
class Major {
public static void foremost(String[] args) {
Scanner inp= new Scanner(System.in);
System.out.print("Enter the quantity: ");
int num= inp.nextInt();
int reverse=0, component, the rest;
component = num;
for( ;num!=0;num/=10){
the rest= num % 10;
reverse = (reverse * 10) + the rest;
}
if (component == reverse){
System.out.println("Sure, it's palindrome");
}
else{
System.out.println("No, it's not palindrome");
}
}
}
Conclusion: Right here, a for loop is used to iteratively verify if the digits within the enter till it turns into zero. The quantity’s modulus is taken contained in the FOR loop and is saved in a variable reverse for each iteration. That is achieved to acquire the precise reverse of the enter. Lastly, the reversed phrase is in comparison with the unique quantity to conclude if it’s a palindrome or not.
EXPLANATION:
For instance, num = 2002
Reminder=numpercent10 | 2002 % 10 = 2 | 200 % 10 = 0 | 20 % 10 = 0 | 2 % 10 = 2 |
reverse = (reverse * 10) + the rest | (0 * 10) + 2 = 2 | (2 * 10) + 0 = 20 | (20 * 10) + 0 = 200 | (200 * 10) + 2 =2002 |
num = num / 10 | 2002 / 10 = 200 | 200 /10 = 20 | 20 / 10 = 2 | 2 / 10 = 0 |
num!=0 | 200! = 0 [continue] | 20! = 0 [continue] | 2! = 0 [continue] | 0 = 0 [stop] |
Subsequently, reverse and num are finally equal, which proves us that it’s a palindrome.
Palindrome Program in Java utilizing recursion (with strings)
Algorithm
- START
- Take enter from the consumer or initialize it manually (string).
- Verify if the size is the same as zero or one
- Print it’s a palindrome
- Verify every character in substring from the entrance and rear; if discovered, equal
- Print it’s a palindrome
- If steps 3 and 4 fail
- Print it’s not Palindrome
- END
Code Snippet
import java.util.*;
class Major{
public static boolean Palindrome(String a){
if(a.size() == 0 || a.size() == 1){
return true;
}
if(a.charAt(0) == a.charAt(a.size()-1)){
return Palindrome(a.substring(1, a.size()-1));
}
return false;
}
public static void foremost(String[]args){
Scanner inp = new Scanner(System.in);
System.out.print("Enter the string: ");
String string = inp.nextLine();
if(Palindrome(string)){
System.out.println(string + " is a palindrome");
}
else{
System.out.println(string + " isn't a palindrome");
}
}
}
Conclusion: Right here, the string is recursively checked if the letters within the enter have equal size. It’s a palindrome string if it has no letters or only one letter. Whether it is multiple letter, then every character of the substring is checked. If the phrases are discovered equal, then the phrase is confirmed to be a palindrome.
EXPLANATION:
For instance, string= “malayalam”
1. | If empty string or has just one letter | PALINDROME |
2. | Else if first letter == final letter (m == m) | PALINDROME |
Increment from the primary letter and decrement from the final letter, repeat step 2 | ||
3. | Else | NOT A PALINDROME |
Palindrome Program in Java utilizing Library strategies (strings)
Algorithm
- START
- Utilizing the string reverse operate, discover out the reverse of the string.
- Evaluate it with the preliminary string.
- If each strings are the identical,
4.1 Print it’s a palindrome
- Else
- Print it’s not a palindrome
- END
Code Snippet
import java.util.*;
class Major{
public static void Palindrome(String s){
String reverse = new StringBuffer(s).reverse().toString();
if (s.equals(reverse)){
System.out.println("Sure, it's a palindrome");
}
else{
System.out.println("No, it's not a palindrome");
}
}
public static void foremost (String[] args){
Palindrome("erre");
}
}
Conclusion: Right here, a “string reverse” library technique is used first to reverse the string. Then the reversed string and the unique strings are in comparison with verify if they’re palindrome or not.
EXPLANATION:
For instance, string = “ERRE”
String | ERRE |
LIBRARY METHOD “.toString” IS USED | |
Reverse | ERRE |
String == Reverse | Palindrome |
String != Reverse | Not a Palindrome |
Wrapping Up
This brings us to the tip of the weblog on Palindrome in Java. Hope this lets you up-skill your Java expertise. Take a look at this full tutorial on Java to grow to be an professional in Java Programming.
To be taught extra about programming and different associated ideas, try the programs on Nice Studying Academy.
Continuously Requested Questions
The logic of a palindrome is easy, whereby if we take a quantity and reverse it, it nonetheless stays the identical as the unique quantity. For instance, 10101 is a palindrome quantity as it’ll keep the identical even when we reverse it.
A string is thought to be a palindrome when the reverse of it’s the similar as the unique one. For instance, “bob” is a palindrome as its reverse can even be ” bob “.
To verify if a string is palindrome or not, we are able to use the isPalindrome() operate. We enter the specified string as an argument, and if the operate returns true, then the string is a palindrome; if it returns false, it’s not a palindrome.
The longest palindromic phrase is the Finnish phrase “saippuakivikauppias” which incorporates 19 letters and sometimes means “vendor in lye”.