To rectify the problem identified in the following program,add a public method called isZero() to Fraction class. This method will determine if a Fraction represents a zero fraction. A zero fraction has a numerator == 0, no matter what the denominator is. isZero() method should return a Boolean result indicating a zero fraction or otherwise. The method will be used by the client class (TestFraction.java) to test whether the ‘calling fraction’ is equal to the number zero. Modify old client class so that it now loops until a fraction representing zero is entered. //TestFraction.java 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();             frac.setNumerator(n);             frac.setDenominator(d);         }     } }       Step 3 Fraction.java: class Fraction{     private double numerator;     private double denominator;     //Getter and setter method for numerator     public double getDecimalValue(){         return numerator/denominator;     }     public double getNumerator() {         return numerator;     }     public void setNumerator(double numerator) {         this.numerator = numerator;     }     //Getter and setter method for denominator     public double getDenominator() {         return denominator;     }     public void setDenominator(double denominator) {         this.denominator = 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()     {         double n, d;         n = numerator;         d = denominator;         //if the denominator is less than 0 then swap the sign of both numerator and denominator         if(denominator<0)         {             n= (-1)*numerator;             d=(-1)*denominator;             System.out.print(n + "/" + d);             System.out.println(" = " + n/d);         }         else         {             System.out.print(numerator + "/" + denominator);             System.out.println(" = " + n/d);         }     } }

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

To rectify the problem identified in the following program,add a public method called isZero() to Fraction class. This method will determine if a Fraction represents a zero fraction. A zero fraction has a numerator == 0, no matter what the denominator is. isZero() method should return a Boolean result indicating a zero fraction or otherwise. The method will be used by the client class (TestFraction.java) to test whether the ‘calling fraction’ is equal to the number zero. Modify old client class so that it now loops until a fraction representing zero is entered.


//TestFraction.java
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();
            frac.setNumerator(n);
            frac.setDenominator(d);
        }
    }
}

 

 
 

Step 3

Fraction.java:

class Fraction{

    private double numerator;
    private double denominator;

    //Getter and setter method for numerator
    public double getDecimalValue(){
        return numerator/denominator;
    }
    public double getNumerator() {
        return numerator;
    }
    public void setNumerator(double numerator) {
        this.numerator = numerator;
    }
    //Getter and setter method for denominator
    public double getDenominator() {
        return denominator;
    }
    public void setDenominator(double denominator) {
        this.denominator = 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()
    {
        double n, d;
        n = numerator;
        d = denominator;
        //if the denominator is less than 0 then swap the sign of both numerator and denominator
        if(denominator<0)
        {
            n= (-1)*numerator;
            d=(-1)*denominator;
            System.out.print(n + "/" + d);
            System.out.println(" = " + n/d);
        }

        else
        {
            System.out.print(numerator + "/" + denominator);
            System.out.println(" = " + n/d);
        }
    }
}

 
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
void method
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