Palindrome in Java: How you can verify Palindrome Program


A palindrome is a phrase, phrase, quantity, or a sequence of characters that reads the identical backwards and forwards. This weblog talks about easy methods to verify 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!

  1. What’s Palindrome?
  2. What’s a Palindrome quantity?
  3. What’s Palindrome string?
  4. What’s a Palindrome phrase?
  5. Palindrome Program in Java utilizing whereas loops
  6. Palindrome Program in Java utilizing for loops
  7. Palindrome Program in Java utilizing recursion 
  8. 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 route (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 route.

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 principal(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 route stays the identical.

Java program to seek out if a string is a palindrome

public class Palindrome
{
    public static void principal(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’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 often ignored for Ex: “cats stay 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'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 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 principal(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:

  1. Scanner class (to acquire consumer enter) 
  2. Recursion 
  3. For loop
  4. Whereas loop
  5. If – else statements

Palindrome Program in Java utilizing whereas loops (integer)

Algorithm

  1. START
  2. Take enter from the consumer or initialise it manually (num).
  3. Retailer the enter in a brand new variable (ingredient).
  4. Till num will not be equal to zero, discover the reminder of the num and retailer it in a variable (reverse).
  5. Divide the num by ten and repeat step 3 utilizing some time loop.
  6. Test if the ingredient is the same as reverse.
  7. Whether it is equal,
    1. Print it’s palindrome
    2. Else print it isn’t palindrome.
  8. END

Code Snippet

import java.util.*;
class Fundamental {
  public static void principal(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

1.1.JPG
1.2.JPG

Conclusion: Right here, a “whereas” loop is used to iteratively verify 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.

Clarification:

For instance, num = 252

Reminder=numpercent10252 % 10 = 225 % 10 = 52 % 10 = 2
reverse = (reverse * 10) + the rest(0 * 10) + 2 = 2(2 * 10) + 5 = 25(25 * 10) + 2 = 252
num = num / 10252 / 10 = 2525 /10 = 22 / 10 = 0
num!=025! = 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

  1. START
  2. Take enter from the consumer or initialise it manually (num).
  3. Retailer the enter in a brand new variable (ingredient).
  4. Till num will not be equal to zero, discover the reminder of the num and retailer it in a variable (reverse).
  5. Divide the num by ten and repeat step 3 utilizing a FOR loop.
  6. Test if the ingredient is the same as the reverse.
  7. If they’re equal,
    1. Print it’s palindrome
    2. Else print it isn’t palindrome.
  8. END

Code Snippet

import java.util.*;
class Fundamental {
  public static void principal(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

2.1.JPG

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=numpercent102002 % 10 = 2200 % 10 = 020 % 10 = 02 % 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 / 102002 / 10 = 200200 /10 = 2020 / 10 = 22 / 10 = 0
num!=0200! = 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

  1. START
  2. Take enter from the consumer or initialise it manually (string).
  3. Test if the size is the same as zero or one
    1. Print it’s a palindrome
  4. Test every character in substring from the entrance and rear, if discovered equal
    1. Print it’s palindrome
  5. If steps 3 and 4 fails
    1. Print it isn’t Palindrome
  6. END

Code Snippet

import java.util.*;
class Fundamental{
  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 principal(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:

3.1.JPG
3.2.JPG

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.ElseNOT A PALINDROME

Palindrome Program in Java utilizing Library strategies (strings)

Algorithm

  1. START
  2. Utilizing the string reverse perform, discover out the reverse of the string.
  3. Examine it with the preliminary string.
  4. If each strings are the identical,

            4.1 Print it’s a palindrome

  1. Else
    1. Print it isn’t a palindrome
  2. END

Code Snippet

import java.util.*;
class Fundamental{
  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 principal (String[] args){
  Palindrome("erre");
}
}

Output       

4.1.JPG

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
ReverseERRE
String == ReversePalindrome
String != ReverseNot 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