# Java Program to Check Whether a Number is Palindrome or Not

## Example 1: Program to Check Palindrome using while loop

``````public class Palindrome {

public static void main(String[] args) {

int num = 121, reversedInteger = 0, remainder, originalInteger;

originalInteger = num;

// reversed integer is stored in variable
while( num != 0 )
{
remainder = num % 10;
reversedInteger = reversedInteger * 10 + remainder;
num  /= 10;
}

// palindrome if orignalInteger and reversedInteger are equal
if (originalInteger == reversedInteger)
System.out.println(originalInteger + " is a palindrome.");
else
System.out.println(originalInteger + " is not a palindrome.");
}
}``````

Output

`121 is a palindrome number.`

In this program,

• First, given number (num)’s value is stored in another integer variable, originalInteger. This is because, we need to compare the values of reversed number and original number at the end.
• Then, a while loop is used to loop through num until it is equal to 0.
• On each iteration, the last digit of num is stored in the remainder.
• Then, the remainder is added to reversedInteger such that it is added to the next place value (multiplication by 10).
• Then, the last digit is removed from num after division by 10.
• Finally, reversedInteger and originalInteger are compared. If equal, it is a palindrome number. If not, it isn’t.

Here are the execution steps that take place:

Palindrome execution steps
numnum != 0remainderreversedInteger
121true10 * 10 + 1 = 1
12true21 * 10 + 2 = 12
1true112 * 10 + 1 = 121
0false121

## Example 2: Program to Check Palindrome using for loop

``````public class Palindrome {

public static void main(String[] args) {

int num = 11221, reversedInteger = 0, remainder, originalInteger;

originalInteger = num;

// reversed integer is stored in variable
for( ;num != 0; num /= 10 )
{
remainder = num % 10;
reversedInteger = reversedInteger * 10 + remainder;
}

// palindrome if orignalInteger and reversedInteger are equal
if (originalInteger == reversedInteger)
System.out.println(originalInteger + " is a palindrome.");
else
System.out.println(originalInteger + " is not a palindrome.");
}
}``````

Output

`11221 is not a palindrome.`

In the above program, for loop is used instead of a while loop.

On each iteration, `num /= 10` is executed and condition `num !=0` is checked.