Java Program to Check Palindrome Number

A palindrome number is a number that remains the same when its digits are reversed.

This is a common problem in programming interviews and helps in understanding loops, conditions, and string manipulation in Java.

1. Understanding the Problem

Check whether a given integer is a palindrome.

Number: 121 → Palindrome
Number: 123 → Not Palindrome
Number: 444 → Palindrome

2. Using While Loop

Java
Check palindrome using while loop
import java.util.Scanner;

public class PalindromeNumber {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int num = sc.nextInt();

        int original = num;
        int reverse = 0;

        while (num != 0) {
            int digit = num % 10;
            reverse = reverse * 10 + digit;
            num /= 10;
        }

        if (original == reverse)
            System.out.println("Palindrome Number");
        else
            System.out.println("Not a Palindrome Number");
    }
}

3. Using StringBuilder

Java
Check palindrome using StringBuilder
import java.util.Scanner;

public class PalindromeString {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        String num = sc.nextLine();

        String reversed = new StringBuilder(num).reverse().toString();

        if (num.equals(reversed))
            System.out.println("Palindrome Number");
        else
            System.out.println("Not a Palindrome Number");
    }
}

4. Using For Loop

Java
Check palindrome using for loop
import java.util.Scanner;

public class PalindromeForLoop {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        String num = sc.nextLine();

        String reverse = "";

        for (int i = 0; i < num.length(); i++) {
            reverse = num.charAt(i) + reverse;
        }

        if (num.equals(reverse))
            System.out.println("Palindrome Number");
        else
            System.out.println("Not a Palindrome Number");
    }
}

5. Using Recursion

Java
Check palindrome using recursion
import java.util.Scanner;

public class PalindromeRecursion {

    static int reverseNum(int n, int rev) {
        if (n == 0)
            return rev;
        return reverseNum(n / 10, rev * 10 + n % 10);
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int num = sc.nextInt();

        int reversed = reverseNum(num, 0);

        if (num == reversed)
            System.out.println("Palindrome Number");
        else
            System.out.println("Not a Palindrome Number");
    }
}

6. Common Mistakes

1. Not storing the original number before modifying it.

2. Comparing strings incorrectly using == instead of equals().

3. Ignoring negative numbers.

4. Incorrect loop conditions.

7. Applications

1. Used in number theory problems.

2. Common in coding interviews and tests.

3. Helps in understanding digit manipulation.

Conclusion

Checking whether a number is a palindrome in Java can be done using loops, StringBuilder, or recursion.

Each method helps strengthen your understanding of core Java concepts and improves logical thinking.