Introduction to Palindrome in Java Baeldung
A string or number is said to be a palindrome if it remains the same even after it has been reversed. For example, "MADAM" is a palindrome string as it is spelled "MADAM" even if it is reversed. But in the case of "LUCKY" this string is not a palindrome, since it is "YKCUL" when it is reversed. Some of the numbers palindrome - 365563, 48984, 12321, 171, 88, 90009, 343, and some lines palindrome - a MADAM, MALAYALAM, LOL, DAD, MOM, C ++ & ++ C and t . D. Let's look at the logic and the implementation of a palindrome in the following sections. In this thread, we are going to learn about Palindrome in Java.
Palindrome logic in Java
To check if a number is a palindrome, the following algorithm can be used.
- Take an input string or number that you want to check if it is a palindrome or not.
For example, let's take the number 353 as input.
- Take the input number and copy it to a temporary variable
353-> temp
- Cancel it using for, while or any other method of your choice.
Reversednumber: rev=353
- Compare the entered number and the return number.
If they are the same, then the number is called the palindrome number.
Otherwise, the number is not a palindrome number.
those.
If(inputnum==rev)
( then palindrome )
Else not palindrome
How to check a palindrome using different methods?
There are several ways to check if a given input number is a palindrome or not.
- For loop
- While the loop
- Library method (for strings)
Let's look at each of them in detail.
1. The program for checking the palindrome number using the for loop
//Java program to check whether a String is a Palindrome or not using For Loop
import java.util.*;
public class PalindromeNumberExample (
//main method
public static void main(String() args) (
int r=0 ; //reversed Integer
int rem, num; //remainder and original number
Scanner s = new Scanner(System.in);
System.out.print("Enter number that has to be checked:");
num = s.nextInt();
//Store the number in a temporary variable
int temp = num;
//loop to find the reverse of a number
for( ;num != 0; num /= 10 )
(
rem = num % 10; // find the modulus of the number when divided by 10
r = r * 10 + rem;
)
//check whether the original and reversed numbers are equal
if (temp == r)
(
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are equal " + temp + " is a palindrome number");
)
else
(
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are not equal " + temp + " is not a palindrome number");
)
)
)
Output example 1:

Here, as 353 is the same when accessed, it is treated as a palindrome.
Output example 2:

Here, since 234 remains not the same in reverse order, it is not considered a palindrome.
2. Program for checking palindrome number using a loop
//Java program to check whether a number is a Palindrome or not using While Loop
import java.util.*;
public class PalindromeNumberExample (
public static void main(String() args) (
int r=0, rem, num;
Scanner s = new Scanner(System.in);
System.out.print("Enter number that has to be checked:");
num = s.nextInt();
//Store the number in a temporary variable
int temp = num;
//loop to find the reverse of a number
while( num != 0 )
(
rem= num % 10;
r= r * 10 + rem;
num=num/10;
)
//check whether the original and reversed numbers are equal
if (temp == r)
(
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are equal " + temp + " is a palindrome number");
)
else
(
System.out.println(temp + " is input number");
System.out.println(r + " is the reversed number");
System.out.println("Since they are not equal " + temp + " is not a palindrome number");
)
)
)