</>

Technology

Java Programs

Difficulty

Beginner

Interview Question

Write a Java program to reverse a number (e.g., 12345 → 54321).

Answer

Reverse a Number in Java

Java
public class ReverseNumber {
    public static void main(String[] args) {
        int number  = 12345;
        int reverse = 0;
        int temp    = number;

        while (temp != 0) {
            int lastDigit = temp % 10;       // extract last digit
            reverse = (reverse * 10) + lastDigit;  // build reversed number
            temp    = temp / 10;             // remove last digit
        }

        System.out.println("Original: " + number);
        System.out.println("Reversed: " + reverse);
    }
}

Output

CODE
Original: 12345
Reversed: 54321

Step-by-Step Trace

CODE
number = 12345

Iteration 1: temp=12345, lastDigit=5, reverse=5,    temp=1234
Iteration 2: temp=1234,  lastDigit=4, reverse=54,   temp=123
Iteration 3: temp=123,   lastDigit=3, reverse=543,  temp=12
Iteration 4: temp=12,    lastDigit=2, reverse=5432, temp=1
Iteration 5: temp=1,     lastDigit=1, reverse=54321,temp=0
Loop ends → 54321

Using String Conversion

Java
int number  = 12345;
String str  = Integer.toString(number);
String rev  = new StringBuilder(str).reverse().toString();
int reversed = Integer.parseInt(rev);
System.out.println(reversed);  // → 54321

Check if Number is Palindrome

Java
int num = 121;
int reverse = 0, temp = num;

while (temp != 0) {
    reverse = (reverse * 10) + (temp % 10);
    temp /= 10;
}

if (num == reverse)
    System.out.println(num + " is a palindrome number");
else
    System.out.println(num + " is NOT a palindrome number");

Output

CODE
121 is a palindrome number

Follow AutomateQA