### Java Program to Reverse a Number

In this blog post, we will learn how to write a Java program to reverse a number step by step.

Reversing a number might seem like a trivial task, but when you’re just starting with programming, it can be a fun and challenging problem.

# The Problem Statement

Given a number, say 12345, we want to reverse it, so the result will be 54321.

# Program Explanation

Before writing the program, let’s break down the process into steps:

Initialize the reversed number: Start with a variable called reversed and set it to 0.

Loop until the number is not zero: The loop will serve to extract digits from the original number one by one.

Extract the last digit: Use the modulo operator % to get the last digit of the number.

Append the extracted digit to the reversed number: Multiply the reversed number by 10 (to shift its digits to the left) and then add the extracted digit.

Remove the last digit from the original number: Use the division operator / to remove the last digit.

Repeat: Continue the process until the original number is 0.

# Java Program

As per above program explanation, let's write the Java program to reverse a number:

``````public class ReverseNumber {

public static int reverse(int number) {
int reversed = 0; // Step 1:Initialize the reversed number
while (number != 0) { // Step 2: Loop until the number is not zero
int digit = number % 10;          // Step 3: Extract the last digit
reversed = reversed * 10 + digit; // Step 4: Append the digit to reversed
number = number / 10;             // Step 5: Remove the last digit
}
return reversed;
}

public static void main(String[] args) {
int originalNumber = 12345;
int reversedNumber = reverse(originalNumber);
System.out.println("Original Number: " + originalNumber);
System.out.println("Reversed Number: " + reversedNumber);
}
}``````

Output:

``````Original Number: 12345
Reversed Number: 54321``````

# Understanding Core Logic

int digit = number % 10: This line of code finds the remainder when our number is divided by 10, which effectively gives us the last digit of the number.

reversed = reversed * 10 + digit: Here, we shift the digits of reversed to the left by multiplying by 10, then add the extracted digit. This effectively appends the digit to the end.

number = number / 10: By dividing the number by 10, we remove its last digit.

# Conclusion

In this post, we learned how to write a Java program to reverse a number step by step and we understood the core logic of the program.

Happy coding!