Write a public, static, recursive method called reverse that takes a single long
ID: 3763369 • Letter: W
Question
Write a public, static, recursive method called reverse that takes a single long integer argument and prints the digits of the number in reverse.For example: reverse (-12); // prints -21 reverse(1234567); // prints 7654321
Write a public, static, recursive method called reverse that takes a single long integer argument and prints the digits of the number in reverse.
For example: reverse (-12); // prints -21 reverse(1234567); // prints 7654321
For example: reverse (-12); // prints -21 reverse(1234567); // prints 7654321
Explanation / Answer
public class Reverse
{
public static void main(String[] args)
{
int param = Integer.parseInt(args[0]);
System.out.println(reverse(param));
}
public static int reverse(int input)
{
return reverse(input, 0);
}
private static int reverse(int original, int reversed)
{
int rightmost = original % 10;
original -= rightmost;
original /= 10;
reversed += rightmost * Math.pow(10, numDigits(original));
return (original == 0)? reversed: reverse(original, reversed);
}
public static int numDigits(int number)
{
number = Math.abs(number);
if (number >= 10)
{
return 1 + numDigits(number /= 10);
}
else if (number > 0)
{
return 1;
}
else
{
return 0;
}
}
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.