Write a Java method, reverseDigit, that takes an integer as a parameter and retu
ID: 3558310 • Letter: W
Question
Write a Java method, reverseDigit, that takes an integer as a parameter and returns the number with its digits reversed. For example, (12345) is 54321. Also, write a program to test your method.
I have the answer, I just can't figure out how to add code for a negative and keep it negative, ie: -1234 reversed -4321.
import java.util.Random;
import java.util.Scanner;
public class reverseDigit
{
public static void main(String[] args)
{
//Program Test input to method
Random rand = new Random();
int x=rand.nextInt(10000); //Generates a random number to test
System.out.println("Sample random integer is: "+x);
System.out.println("The reversed integer is: "+reverseDigit(x));
//Program User Input to method
Scanner in=new Scanner(System.in);
System.out.print("Enter an integer: "); //asks for input integer
System.out.println("The reversed integer is: "+reverseDigit(in.nextInt())); //prints reversed integer
}
//reverseDigit method
public static int reverseDigit(int integer)
{
int reverseInteger=0;
while(integer>0)
{
reverseInteger=10*reverseInteger+(integer%10); //reverses the integer
integer/=10;
}
return reverseInteger;
}
}
Explanation / Answer
Note: Modified code has been highlighted
Program Code:
import java.util.Random;
import java.util.Scanner;
public class reverseDigit
{
public static void main(String[] args)
{
//Program Test input to method
Random rand = new Random();
int x=rand.nextInt(10000); //Generates a random number to test
System.out.println("Sample random integer is: "+x);
System.out.println("The reversed integer is: "+reverseDigit(x));
//Program User Input to method
Scanner in=new Scanner(System.in);
System.out.print("Enter an integer: "); //asks for input integer
int num=in.nextInt();
String sample=""+num;
char ch= sample.charAt(0);
if(ch=='-')
{
sample=sample.substring(1);
int num1=Integer.parseInt(sample);
System.out.println("The reversed integer is: -"+reverseDigit(num1)); //prints reversed integer
}
else
{
System.out.println("The reversed integer is: "+reverseDigit(num)); //prints reversed integer
}
}
//reverseDigit method
public static int reverseDigit(int integer)
{
int reverseInteger=0;
while(integer>0)
{
reverseInteger=10*reverseInteger+(integer%10); //reverses the integer
integer/=10;
}
return reverseInteger;
}
}
Sample Output:
Sample random integer is: 1735
The reversed integer is: 5371
Enter an integer: -1234
The reversed integer is: -4321
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.