A palindrome is a phrase, phrase, quantity, or a sequence of characters that reads the identical backwards and forwards. This weblog talks about find out how to test for a palindrome in Java with the assistance of a program. Earlier than we find out about palindrome in Java, we’ll perceive the idea of palindrome.
Let’s get began!
- What’s Palindrome?
- What’s a Palindrome quantity?
- What’s 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
What’s Palindrome?
A Palindrome is a phrase or phrase that’s spelled the identical even within the backward path (ignoring spacing, punctuations, and capitalization).
A Palindrome quantity is a quantity that is still the identical even after reversing Ex:.161,24542,848, 38983. It’s also a string or sequence of characters i.e. it has the identical sequence of letters when studying forwards and backward path.
Instance:
What’s a Palindrome Quantity?
A palindrome quantity is the 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.
- 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
What’s a Palindrome String?
A Palindrome String is a string when learn in a ahead or backward path stays the identical.
Java program to search 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 test:");
x = a.nextLine();
int l = x.size();
for(int ok = l - 1; ok >= 0; k--)
{
y = y + x.charAt(ok);
}
if(x.equalsIgnoreCase(y))
{
System.out.println("The string is palindrome.");
}
else
{
System. out.println("The string is just not a palindrome.");
}
}
}
Output:
Enter the string you wish to test:
NeveroddorEVen
The string is a palindrome.
What’s a Palindrome Phrase?
Palindrome could encompass 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 stay 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 test 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 is just not 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 sizzling to hoot.";
if( sentencePalindrome(str))
System.out.println("Sentence is palindrome");
else
System.out.println("Sentence is just not" + " " +
"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 initialise it manually (num).
- Retailer the enter in a brand new variable (component).
- Till num is just not equal to zero, discover the reminder of the num and retailer it in a variable (reverse).
- Divide the num by ten and repeat step 3 utilizing some time loop.
- Test if the component is the same as reverse.
- Whether it is equal,
- Print it’s palindrome
- Else print it’s not palindrome.
- END
Code Snippet
import java.util.*;
class Major {
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, 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");
}
}
}
Output
Conclusion: Right here, a “whereas” loop is used to iteratively test if 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] |
Due to this fact, 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 initialise it manually (num).
- Retailer the enter in a brand new variable (component).
- Till num is just not equal to zero, discover the reminder of the num and retailer it in a variable (reverse).
- Divide the num by ten and repeat step 3 utilizing a FOR loop.
- Test if the component is the same as the reverse.
- If they’re equal,
- Print it’s palindrome
- Else print it’s not palindrome.
- END
Code Snippet
import java.util.*;
class Major {
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, 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");
}
}
}
Output
Conclusion: Right here, a for loop is used to iteratively test 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 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] |
Due to this fact, 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 initialise it manually (string).
- Test if the size is the same as zero or one
- Print it’s a palindrome
- Test every character in substring from the entrance and rear, if discovered equal
- Print it’s palindrome
- If steps 3 and 4 fails
- 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 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 + " is just not a palindrome");
}
}
}
Output:
Conclusion: Right here, the string is recursively checked if the letters within the enter have equal size. If it has no letters or only one letter, then it’s a palindrome string. 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 first 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.
- Examine 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 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 test 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 |
This brings us to the tip of the weblog on Palindrome in Java. Hope this lets you up-skill your Java abilities. Take a look at this full tutorial on Java to develop into an skilled in Java Programming.
To be taught extra about programming and different associated ideas, try the programs on Nice Studying Academy.