CC-15 : Reverse the digits of a number.
Description:
Given an input number, reverse the digits of the same and return number with reversed digits.
Test cases and expected outputs:
| Input Parameters |
Expected outputs |
| Original Number: 5432
|
Reversed Number: 2345
|
| Original Number: 678
|
Reversed Number: 876
|
Pseudocode:
reverseNum(num, reversedNumber):
| Set variable remainder to 0.
|
| If num>0:
remainder = num % 10.
reversedNumber = reverseNumber*10 + remainder.
Return value returned by recursive call to reverseNumber(num/10, reversedNumber).
|
| Else return reversedNumber.
|
Code:
public int reverseNumber(int num, int reversedNumber){
int remainder=0;
if (num > 0) {
remainder=num%10;
reversedNumber=reversedNumber*10+remainder;
return reverseNumber(num/10, reversedNumber);
}else {
return reversedNumber;
}
}
Click here to download and run code and test cases !
Below fully running code can be copied and run on Eclipse or other Java IDEs. Refer the classname in code below. If the class name below is "A", save the code below to a file named A.java before running it.
Be sure to try your own test cases to enhance your understanding !
You can also tweak the code to optimize or add enhancements and custom features.
public class RecursionReverseNumber {
public int reverseNumber(int num, int reversedNumber){
int remainder=0;
if (num > 0) {
remainder=num%10;
reversedNumber=reversedNumber*10+remainder;
return reverseNumber(num/10, reversedNumber);
}else {
return reversedNumber;
}
}
public static void main(String[] args) {
/***********************
Test cases given below:
**********************/
int retVal;
try {
RecursionReverseNumber rcn=new RecursionReverseNumber();
int num=5432;
retVal=rcn.reverseNumber(num, 0);
System.out.println("Original Number: "+num);
System.out.println("Reversed Number: "+retVal);
num=678;
retVal=rcn.reverseNumber(num, 0);
System.out.println("Original Number: "+num);
System.out.println("Reversed Number: "+retVal);
}catch (Exception exception) {
System.out.print("Exception: "+ exception);
exception.printStackTrace();
}
}
}