-0.7 C
New York
Monday, March 20, 2023

Palindrome in Java: Easy methods to test Palindrome Program


Palindrome in Java

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!

  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 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:

  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 (component).
  4. Till num is just not 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 component is the same as reverse.
  7. Whether it is equal,
    1. Print it’s palindrome
    2. Else print it’s not palindrome.
  8. 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

1.1.JPG
1.2.JPG

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

  1. START
  2. Take enter from the consumer or initialise it manually (num).
  3. Retailer the enter in a brand new variable (component).
  4. Till num is just not 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 component is the same as the reverse.
  7. If they’re equal,
    1. Print it’s palindrome
    2. Else print it’s not palindrome.
  8. 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

2.1.JPG

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

  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’s not Palindrome
  6. 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:

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. Else NOT A PALINDROME

Palindrome Program in Java utilizing Library strategies (strings)

Algorithm

  1. START
  2. Utilizing the string reverse operate, 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’s not a palindrome
  2. 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       

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 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

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles