Java Program Given the main method of a driver class write a

Java Program

Given the main method of a driver class, write a Fraction class. Include the following instance methods:

add,

multiply,

print,

printAsDouble,

and a separate accessor method for each instance variable.

a)    Write a Fraction class that implements these methods:

add This method receives a Fraction parameter and adds the parameter fraction to the calling object fraction.

multiply This method receives a Fraction parameter and multiplies the parameter fraction by the calling object fraction.

print This method prints the fraction using fraction notation (1/4, 21/14, etc.)

printAsDouble This method prints the fraction as a double (0.25, 1.5, etc.)

Separate accessor methods for each instance variable in the Fraction class.

Provide a driver class, FractionDemo,   that demonstrates this Fraction class. The driver class should contain this main method:

import java.util.Scanner;

public class FractionDriver {

   /**

   * @param args

   */

   public static void main(String[] args) {

       Scanner stdIn = new Scanner(System.in);

   Fraction c, d, x; // Fraction objects

   System.out.println(\"Enter numerator; then denominator.\");

   c = new Fraction(stdIn.nextInt(), stdIn.nextInt());

   c.print();

   System.out.println(\"Enter numerator; then denominator.\");

   d = new Fraction(stdIn.nextInt(), stdIn.nextInt());

   d.print();

   x = new Fraction(); // create a fraction for number 0

   System.out.println(\"Sum:\");

   x.add(c).add(d);

   x.print();

   x.printAsDouble();

   x = new Fraction(1, 1); // create a fraction for number 1

   System.out.println(\"Product:\");

   x.multiply(c).multiply(d);

   x.print();

   x.printAsDouble();

   System.out.println(\"Enter numerator; then denominator.\");

   x = new Fraction(stdIn.nextInt(), stdIn.nextInt());

   x.printAsDouble();

   } //end main

} // end Fraction Driver

Sample session:

Enter numerator; then denominator.

5

8

5/8

Enter numerator; then denominator.

4

10

4/10

Sum:

82/80

1.025

Product:

20/80

0.25

Enter numerator; then denominator.

6

0

infinity

Note that this demonstration driver does not call the accessor methods. That’s OK. Accessor methods are often implemented regardless of whether there’s an immediate need for them. That’s because they are very useful methods in general and providing them means that future code can use them when the need arises.

Solution

//defiinition of fraction
class Fraction
{
    //instance variables
    int num;
    int den;
  
    //default construtcor
    Fraction()
    {
        num=0;
        den=1;
    }
  
    //parametrized constructor
    Fraction(int n,int d)
    {
        num=n;
        den=d;
    }
  
    //print fraction object
    public void print()
    {
        System.out.println(num+\"/\"+den);
    }
  
    //return double value of fraction
    public void printAsDouble()
    {
        try
        {
        double div=(double)num/(double)den;
        System.out.println(div);
        }
        catch(ArithmeticException e)
        {
            System.out.println(\"infinity\");
        }
        catch(Exception e)
        {
            System.out.println(e);
        }
    }
  
    //add two fractions
    public Fraction add(Fraction param)
    {
        int tnum=(this.num *param.den)+(this.den*param.num);
        int tden=this.den*param.den;
        this.num=tnum;
        this.den=tden;
        return this;
    }
  
    //multiply two fractions
    public Fraction multiply(Fraction param)
    {
        int tnum=(this.num *param.num);
        int tden=this.den*param.den;
       this.num=tnum;
        this.den=tden;
        return this;
    }
}

Java Program Given the main method of a driver class, write a Fraction class. Include the following instance methods: add, multiply, print, printAsDouble, and a
Java Program Given the main method of a driver class, write a Fraction class. Include the following instance methods: add, multiply, print, printAsDouble, and a
Java Program Given the main method of a driver class, write a Fraction class. Include the following instance methods: add, multiply, print, printAsDouble, and a
Java Program Given the main method of a driver class, write a Fraction class. Include the following instance methods: add, multiply, print, printAsDouble, and a

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site