Java program to reverse a number using for, while and recursion

Java program to reverse a number using for, while and recursion

There are three ways to reverse a number in Java.
1) Using while loop
2) Using for loop
3) Using recursion
4) Reverse the number without user interaction

Program 1: Reverse a number using while Loop

The program will prompt user to input the number and then it will reverse the same number using while loop.
import java.util.Scanner;
class ReverseNumberWhile
{
public static void main(String args[])
{
int num=0;
int reversenum =0;
System.out.println("Input your number and press enter: ");
//This statement will capture the user input
Scanner in = new Scanner(System.in);
//Captured input would be stored in number num
num
= in.nextInt();
//While Loop: Logic to find out the reverse number
while( num != 0 )
{
reversenum
= reversenum * 10;
reversenum
= reversenum + num%10;
num
= num/10;
}

System.out.println("Reverse of input number is: "+reversenum);
}
}
Output:
Input your number and press enter: 
145689
Reverse of input number is: 986541

Program 2: Reverse a number using for Loop

import java.util.Scanner;
class ForLoopReverseDemo
{
public static void main(String args[])
{
int num=0;
int reversenum =0;
System.out.println("Input your number and press enter: ");
//This statement will capture the user input
Scanner in = new Scanner(System.in);
//Captured input would be stored in number num
num
= in.nextInt();
/* for loop: No initialization part as num is already
* initialized and no increment/decrement part as logic
* num = num/10 already decrements the value of num
*/

for( ;num != 0; )
{
reversenum
= reversenum * 10;
reversenum
= reversenum + num%10;
num
= num/10;
}

System.out.println("Reverse of specified number is: "+reversenum);
}
}
Output:
Input your number and press enter: 
56789111
Reverse of specified number is: 11198765

Program 3: Reverse a number using recursion

import java.util.Scanner;
class RecursionReverseDemo
{
//A method for reverse
public static void reverseMethod(int number) {
if (number < 10) {
System.out.println(number);
return;
}
else {
System.out.print(number % 10);
//Method is calling itself: recursion
reverseMethod
(number/10);
}
}
public static void main(String args[])
{
int num=0;
System.out.println("Input your number and press enter: ");
Scanner in = new Scanner(System.in);
num
= in.nextInt();
System.out.print("Reverse of the input number is:");
reverseMethod
(num);
System.out.println();
}
}
Output:
Input your number and press enter: 
5678901
Reverse of the input number is:1098765
Example: Reverse an already initialized number
In all the above programs we are prompting user for the input number, however if do not want the user interaction part and want to reverse an initialized number then this is how you can do it.
class ReverseNumberDemo
{
public static void main(String args[])
{
int num=123456789;
int reversenum =0;
while( num != 0 )
{
reversenum
= reversenum * 10;
reversenum
= reversenum + num%10;
num
= num/10;
}

System.out.println("Reverse of specified number is: "+reversenum);
}
}
Output:
Reverse of specified number is: 987654321

Post a Comment

Previous Post Next Post