Join our newsletter for the latest updates.
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.