Introduction
Reversing a number is one of the most common and important programs in Java, especially for BCA students and beginners. This question is frequently asked in college exams, viva, and interviews.
In this article, you will learn how to reverse a number in Java, along with a step-by-step explanation, algorithm, dry run, and output.
What Does “Reverse a Number” Mean?
Reversing a number means changing the order of digits from last to first.
Example
Input:
1234Output:
4321
Logic to Reverse a Number in Java
We use:
Modulus operator (%) → to get the last digit
Division operator (/) → to remove the last digit
Formula Used
digit = number % 10
reverse = reverse * 10 + digit
number = number / 10
Algorithm to Reverse a Number
Start
Read a number
Initialize
reverse = 0Repeat while number ≠ 0
Get last digit using
% 10Add digit to reverse
Remove last digit using
/ 10
Print reversed number
End
Java Program to Reverse a Number
import java.util.Scanner;
public class ReverseNumber {
public static void main(String[] args) {
int number, reverse = 0;
Scanner sc = new Scanner(System.in);
System.out.print("Enter a number: ");
number = sc.nextInt();
while (number != 0) {
int digit = number % 10;
reverse = reverse * 10 + digit;
number = number / 10;
}
System.out.println("Reversed Number: " + reverse);
}
}
Dry Run of the Program
Input
number = 123
reverse = 0
| Step | number | digit = number % 10 | reverse = reverse * 10 + digit |
|---|---|---|---|
| 1 | 123 | 3 | 0 × 10 + 3 = 3 |
| 2 | 12 | 2 | 3 × 10 + 2 = 32 |
| 3 | 1 | 1 | 32 × 10 + 1 = 321 |
Final Output
Reversed Number: 321
Output Screen
Enter a number: 123
Reversed Number: 321
Important Points for Exams
% 10→ extracts last digit/ 10→ removes last digitLoop continues until number becomes
0Works for any positive integer
Time and Space Complexity
Time Complexity: O(n)
Space Complexity: O(1)
Comments
Post a Comment