 Java Program to Check Whether a Number is Palindrome or Not

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

#### In this program, you'll learn to check whether a number is palindrome or not in Java. This is done by using for and while loop.

To understand this example, you should have the knowledge of the following Java programming topics:

## 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
num num != 0 remainder reversedInteger
121 true 1 0 * 10 + 1 = 1
12 true 2 1 * 10 + 2 = 12
1 true 1 12 * 10 + 1 = 121
0 false - 121

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