Introduction
Reversing a number is a common programming task for beginners in Java. The goal is simple: take a number like 1234 and reverse its digits to get 4321. This problem helps you understand loops, modulus operator, and integer manipulation.
What is a Reverse Number?
A reversed number is simply the original number with its digits in the opposite order.
Examples:
- 123 → 321
- 560 → 65
- 9008 → 8009
Algorithm
The logic to reverse a number is:
- Initialize
rev = 0. - Extract the last digit:
digit = n % 10. - Add the digit to the reversed number:
rev = rev * 10 + digit. - Remove the last digit from the original number:
n = n / 10. - Repeat until
nbecomes 0.
Java Program to Reverse a Number
public class ReverseNumber {
public static void main(String[] args) {
int n = 1234;
int rev = 0;
while (n != 0) {
int digit = n % 10;
rev = rev * 10 + digit;
n = n / 10;
}
System.out.println("Reversed Number: " + rev);
}
}
Dry Run
| Step | n | digit | rev |
|---|---|---|---|
| 1 | 1234 | 4 | 4 |
| 2 | 123 | 3 | 43 |
| 3 | 12 | 2 | 432 |
| 4 | 1 | 1 | 4321 |
Reverse a Number Using Recursion
public class ReverseUsingRecursion {
static int reverse(int n, int rev) {
if (n == 0)
return rev;
return reverse(n / 10, rev * 10 + (n % 10));
}
public static void main(String[] args) {
int number = 9876;
int reversed = reverse(number, 0);
System.out.println("Reversed Number: " + reversed);
}
}
Reverse a Number Without Using Loop
We can also reverse a number using string methods:
public class ReverseWithString {
public static void main(String[] args) {
int n = 12345;
String reversed = new StringBuilder(String.valueOf(n))
.reverse()
.toString();
System.out.println("Reversed Number: " + reversed);
}
}
Conclusion
Reversing a number in Java is an essential beginner-level task that helps build concepts like loops, modulus, recursion, and string manipulation. By understanding multiple approaches, you become more confident with Java programming fundamentals.