A palindrome is a phrase, phrase, quantity, or sequence of characters that reads the identical backward and forwards. This weblog talks about easy methods to verify for a palindrome in Java with the assistance of a program. Before we study palindrome in Java, we are going to perceive the idea of the palindrome.
Let’s get began!
- What is Palindrome?
- What is a Palindrome quantity?
- What is a Palindrome string?
- What is 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 methodology
- Conclusion
- Frequently Asked Questions
What is Palindrome?
A Palindrome is a phrase or phrase that’s spelled the identical even within the backward course (ignoring spacing, punctuations, and capitalization).
A Palindrome quantity is a quantity that continues to be the identical even after reversing, e.g., .161,24542,848, 38983. It can be a string or sequence of characters, i.e., it has the identical sequence of letters when studying forwards and backward instructions.
Example:
What is a Palindrome Number?
A palindrome quantity is a quantity that continues to be 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
- Input the quantity from the person.
- Then Reverse it.
- Compare the quantity with the quantity entered by the person.
- If each the no.’s are the identical, then print the quantity as a palindrome
- Else print, not a palindrome.
Palindrome Number Program in Java
import java.util.Scanner;
class expalindrome
{
public static void major(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("Number is Palindrome");
}
else
{
System.out.println("not Palindrome");
}
}
}
Output:
Enter any Number:
161
Number is Palindrome
Learn extra about palindrome programming with the assistance of those Java interview questions.
What is a Palindrome String?
A Palindrome String is a string that continues to be the identical when learn in a ahead or backward course.
Java program to seek out if a string is a palindrome
public class Palindrome
{
public static void major(String args[])
{
String x, y = "";
Scanner a = new Scanner(System.in);
System.out.print("Enter string you wish 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 will not be a palindrome.");
}
}
}
Output:
Enter the string you wish to verify:
NeveroddorEVen
The string is a palindrome.
What is a Palindrome Phrase?
Palindrome could 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 live on no evil star” and “Steps on no cats” embrace the areas.
Java program to seek 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 may be one other image in left
// of sentence
if (!(getAtj >= 'a' && getAtj <= 'z'))
j++;
// If there may be 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 will not be palindrome
else
return false;
}
// Returns true if sentence is palindrome
return true;
}
// Driver program to check sentencePallindrome()
public static void major(String[] args)
{
String str = "Too scorching to hoot.";
if( sentencePalindrome(str))
System.out.println("Sentence is palindrome");
else
System.out.println("Sentence will not be" + " " +
"palindrome");
}
}
Pre-requisites:
- Scanner class (to acquire person enter)
- Recursion
- For loop
- While loop
- If – else statements
Palindrome Program in Java utilizing whereas loops (integer)
Algorithm
- START
- Take enter from the person or initialize it manually (num).
- Store the enter in a brand new variable (component).
- Until num will not be 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.
- Check if the component is the same as the reverse.
- If it’s equal,
- Print it’s a palindrome
- Else print, it isn’t a palindrome.
- END
Code Snippet
import java.util.*;
class Main {
public static void major(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("Yes, it's palindrome");
}
else{
System.out.println("No, it isn't palindrome");
}
}
}
Conclusion: Here, a “while” loop is used to iteratively verify the digits within the enter till it turns into zero. Inside the whereas loop, the modulus of the quantity is taken. It is 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.
Explanation:
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] |
Therefore, 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 person or initialize it manually (num).
- Store the enter in a brand new variable (component).
- Until num will not be 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.
- Check if the component is the same as the reverse.
- If they’re equal,
- Print it’s a palindrome
- Else print, it isn’t a palindrome.
- END
Code Snippet
import java.util.*;
class Main {
public static void major(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("Yes, it's palindrome");
}
else{
System.out.println("No, it isn't palindrome");
}
}
}
Conclusion: 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. This is completed 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] |
Therefore, 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 person or initialize it manually (string).
- Check if the size is the same as zero or one
- Print it’s a palindrome
- Check 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 isn’t Palindrome
- END
Code Snippet
import java.util.*;
class Main{
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 major(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 + " will not be a palindrome");
}
}
}
Conclusion: Here, the string is recursively checked if the letters within the enter have equal size. It is a palindrome string if it has no letters or only one letter. If it’s 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
- Using the string reverse operate, discover out the reverse of the string.
- Compare it with the preliminary string.
- If each strings are the identical,
4.1 Print it’s a palindrome
- Else
- Print it isn’t a palindrome
- END
Code Snippet
import java.util.*;
class Main{
public static void Palindrome(String s){
String reverse = new StringBuffer(s).reverse().toString();
if (s.equals(reverse)){
System.out.println("Yes, it's a palindrome");
}
else{
System.out.println("No, it isn't a palindrome");
}
}
public static void major (String[] args){
Palindrome("erre");
}
}
Conclusion: Here, a “string reverse” library methodology 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 top of the weblog on Palindrome in Java. Hope this lets you up-skill your Java abilities. Check out this full tutorial on Java to turn into an skilled in Java Programming.
To be taught extra about programming and different associated ideas, try the programs on Great Learning Academy.
Frequently Asked Questions
The logic of a palindrome is straightforward, 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 understood to be a palindrome when the reverse of it’s the identical as the unique one. For instance, “bob” is a palindrome as its reverse may also be ” bob “.
To check if a string is palindrome or not, we can use the isPalindrome() function. We input the desired string as an argument, and if the function returns true, then the string is a palindrome; if it returns false, it is not a palindrome.
The longest palindromic word is the Finnish word “saippuakivikauppias” which comprises 19 letters and usually means “dealer in lye”.