A palindrome is a phrase, phrase, quantity, or sequence of characters that reads the identical backward and forwards. This weblog talks about methods to examine for a palindrome in Java with the assistance of a program. Earlier than we study palindrome in Java, we are going to 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
- Often 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 continues to be the identical even after reversing, e.g., .161,24542,848, 38983. Additionally it is 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 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
- Enter the quantity from the consumer.
- Then Reverse it.
- Examine 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 essential(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
Be taught extra about palindrome programming with the assistance of those Java interview questions.
What’s a Palindrome String?
A Palindrome String is a string that continues to be the identical when learn in a ahead or backward route.
Java program to seek out if a string is a palindrome
public class Palindrome
{
public static void essential(String args[])
{
String x, y = "";
Scanner a = new Scanner(System.in);
System.out.print("Enter string you wish to examine:");
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 examine:
NeveroddorEVen
The string is a palindrome.
What’s a Palindrome Phrase?
Palindrome might encompass a Sentence or Phrase Ex: Mr. Kate ate my Silver worm”, “Do John see God?” . Punctuation, capital letters, and areas are often ignored for Ex: “cats reside 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 examine 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 usually are not 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 essential(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 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 (ingredient).
- Till 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.
- Examine if the ingredient is the same as the reverse.
- Whether it is equal,
- Print it’s a palindrome
- Else print, it isn’t a palindrome.
- END
Code Snippet
import java.util.*;
class Foremost {
public static void essential(String[] args) {
Scanner inp= new Scanner(System.in);
System.out.print("Enter the quantity: ");
int num= inp.nextInt();
int reverse=0, ingredient, the rest;
ingredient = num;
whereas(num!=0){
the rest= num % 10;
reverse = (reverse * 10) + the rest;
num = num / 10;
}
if (ingredient == reverse){
System.out.println("Sure, it's palindrome");
}
else{
System.out.println("No, it isn't palindrome");
}
}
}
Output
Conclusion: Right here, a “whereas” loop is used to iteratively examine 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.
Rationalization:
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 in the end 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 (ingredient).
- Till 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.
- Examine if the ingredient 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 Foremost {
public static void essential(String[] args) {
Scanner inp= new Scanner(System.in);
System.out.print("Enter the quantity: ");
int num= inp.nextInt();
int reverse=0, ingredient, the rest;
ingredient = num;
for( ;num!=0;num/=10){
the rest= num % 10;
reverse = (reverse * 10) + the rest;
}
if (ingredient == reverse){
System.out.println("Sure, it's palindrome");
}
else{
System.out.println("No, it isn't palindrome");
}
}
}
Output
Conclusion: Right here, a for loop is used to iteratively examine 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 performed 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 in the end 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).
- Examine if the size is the same as zero or one
- Print it’s a palindrome
- Examine 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 Foremost{
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 essential(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");
}
}
}
Output:
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 a couple of 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 perform, discover out the reverse of the string.
- Examine 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 Foremost{
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 isn't a palindrome");
}
}
public static void essential (String[] args){
Palindrome("erre");
}
}
Output
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 examine 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 abilities. Try this full tutorial on Java to change into an skilled in Java Programming.
To be taught extra about programming and different associated ideas, take a look at the programs on Nice Studying Academy.
Often Requested 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’s going to keep the identical even when we reverse it.
A string is thought 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 examine if a string is palindrome or not, we are able to use the isPalindrome() perform. We enter the specified string as an argument, and if the perform returns true, then the string is a palindrome; if it returns false, it isn’t a palindrome.
The longest palindromic phrase is the Finnish phrase “saippuakivikauppias” which comprises 19 letters and usually means “vendor in lye”.