Java Question. I designed a function that is supposed to accept an int and return the int in reverse like so: Example 1: Input: x = 123 Output: 321 Example 2: Input: x = -123 Output: -321 Example 3: Input: x = 120 Output: 21 Example 4: Input: x = 0 Output: 0 My code appears to work for positive integers but returns an error when I enter a negative number. Any ideas how I can fix it? Thank you. import java.util.*; public class ReverseInteger { /** The Constructor sets @param var Description */ public static void main(String[] args) { System.out.println("Please enter an integer: \n"); Scanner keyboard = new Scanner(System.in); String input = keyboard.nextLine(); int original = Integer.parseInt(input); int converted = reverse(original); System.out.println(converted); } public static int reverse(int x) // given in the problem set { char[] chars = new char[String.valueOf(x).length()]; String original1 = Integer.toString(x); boolean negative = false; int num_of_digits = 0; int reversed; for(int i = 0; i < chars.length; i++) { if(original1.charAt(i) == '-') negative = true; else chars[i] = original1.charAt(i); } num_of_digits = chars.length; if(num_of_digits %2 == 0) { for(int i = 0; i < (num_of_digits)/2; i++) { char temp = chars[i]; chars[i] = chars[num_of_digits-(i+1)]; chars[num_of_digits-(i+1)] = temp; } reversed = Integer.parseInt(new String(chars)); if(negative) reversed = (reversed * -1); } else { for(int i = 0; i < ((num_of_digits/2)+1); i++) { char temp = chars[i]; chars[i] = chars[num_of_digits-(i+1)]; chars[num_of_digits-(i+1)] = temp; } reversed = Integer.parseInt(new String(chars)); if(negative) reversed = (reversed * -1); } return reversed; } }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Java Question.

I designed a function that is supposed to accept an int and return the int in reverse like so:

Example 1:

Input: x = 123 Output: 321

Example 2:

Input: x = -123 Output: -321

Example 3:

Input: x = 120 Output: 21

Example 4:

Input: x = 0 Output: 0

My code appears to work for positive integers but returns an error when I enter a negative number. Any ideas how I can fix it? Thank you.

import java.util.*;

public class ReverseInteger
{
/**
The Constructor sets
@param var Description
*/
public static void main(String[] args)
{
System.out.println("Please enter an integer: \n");
Scanner keyboard = new Scanner(System.in);
String input = keyboard.nextLine();
int original = Integer.parseInt(input);
int converted = reverse(original);
System.out.println(converted);
}

public static int reverse(int x) // given in the problem set
{
char[] chars = new char[String.valueOf(x).length()];
String original1 = Integer.toString(x);
boolean negative = false;
int num_of_digits = 0;
int reversed;

for(int i = 0; i < chars.length; i++)
{
if(original1.charAt(i) == '-')
negative = true;
else
chars[i] = original1.charAt(i);
}

num_of_digits = chars.length;

if(num_of_digits %2 == 0)
{
for(int i = 0; i < (num_of_digits)/2; i++)
{
char temp = chars[i];
chars[i] = chars[num_of_digits-(i+1)];
chars[num_of_digits-(i+1)] = temp;
}
reversed = Integer.parseInt(new String(chars));
if(negative)
reversed = (reversed * -1);
}

else
{
for(int i = 0; i < ((num_of_digits/2)+1); i++)
{
char temp = chars[i];
chars[i] = chars[num_of_digits-(i+1)];
chars[num_of_digits-(i+1)] = temp;
}
reversed = Integer.parseInt(new String(chars));
if(negative)
reversed = (reversed * -1);
}
return reversed;
}
}

Expert Solution
steps

Step by step

Solved in 3 steps with 5 images

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education