This exercise requires to ensure that the input values representing fractions are stored with denominators that are positive integers. You cannot require the user to only enter a positive denominator value; the user should not be inconvenienced by such a restriction. For example, whilst values of 1 / -2 are acceptable inputs for a fraction, the output representation should be -1 / 2. Your solution should check the denominator input; if it is negative, swap the sign of both numerator and denominator instance variables. Test this functionality with TestFraction.java class from the following program

C++ for Engineers and Scientists
4th Edition
ISBN:9781133187844
Author:Bronson, Gary J.
Publisher:Bronson, Gary J.
Chapter4: Selection Structures
Section: Chapter Questions
Problem 14PP
icon
Related questions
Question

This exercise requires to ensure that the input values representing
fractions are stored with denominators that are positive integers. You cannot
require the user to only enter a positive denominator value; the user should not
be inconvenienced by such a restriction. For example, whilst values of 1 / -2
are acceptable inputs for a fraction, the output representation should be -1 / 2.
Your solution should check the denominator input; if it is negative, swap the
sign of both numerator and denominator instance variables. Test this
functionality with TestFraction.java class from the following program

//Fraction class
class Fraction {
//Fraction numerator
int numerator;
//Fraction denominator
int denominator;
//method to initialize numerator and denominator
public void input(int num, int den)
{
numerator = num;
//check if denominator is not zero
if (den != 0) {
denominator = den;
}
else {
System.out.println("Invalid denominator!!");
System.exit(0);
}
}
//method to display fraction
public void display()
{
System.out.println(numerator + "/" + denominator);
}
}

import java.util.Scanner;

//test program
public class TestFraction
{
public static void main(String[] args) {
//create a Scanner object
Scanner in = new Scanner(System.in);
//create new fraction
Fraction frac = new Fraction();
//declare numerator and denominator
int n=1,d;
System.out.print("Enter Fraction's Numerator: ");
//input numerator
n = in.nextInt();
System.out.print("Enter Fraction's Denominator: ");
//input denominator
d = in.nextInt();
//loop execute until the numerator is negative
while(n>=0)
{
//call input with n and d
frac.input(n, d);
//call display
frac.display();
System.out.print("Enter Fraction's Numerator: ");
//input numerator
n = in.nextInt();
System.out.print("Enter Fraction's Denominator: ");
//input denominator
d = in.nextInt();
}
}
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 4 steps with 5 images

Blurred answer
Knowledge Booster
Lower bounds sorting algorithm
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ for Engineers and Scientists
C++ for Engineers and Scientists
Computer Science
ISBN:
9781133187844
Author:
Bronson, Gary J.
Publisher:
Course Technology Ptr