Java Program public class Fraction instance variables int n

Java Program

public 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;

}

}

  

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

Modify the code so that it can handle negative numerators and negative denominators, and provide a helping method that performs fraction reduction. Sample session using negative numbers and reduction Enter numerator, then denominator. -5 -8 5/8 Enter numerator, then denominator. 4 -10 2/5 Sum: 9/40 0.225 Product: 0.25 Enter numerator, then denominator. 0 -0 indeterminate

Solution

//Fraction.java

import java.util.Scanner;

public class Fraction {


//instance variables
int num;
int den;

//default construtcor

Fraction()

{

num=0;

den=1;

}


// greatest common divisor to reduce fraction
int gcd(int n1, int n2)
{
    if (n2 != 0)
       return gcd(n2, n1 % n2);
    else
       return n1;
}

//parametrized constructor
Fraction(int n,int d)

{

num=n;

den=d;

if(d == 0)
{
   System.out.println(\"indeterminate\");
   System.exit(1);
}
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;

}

//print fraction object

public void print()

{
if( (num < 0 && den > 0))
   System.out.println(num+\"/\"+den);
else if((num > 0 && den < 0))
   System.out.println(\"-\" + num+\"/\"+ (-1*den));
else if(num < 0 && den < 0)
   System.out.println( (-1*num)+\"/\"+ (-1*den));
else
   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;

// simplify fraction
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;

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;

// simplify fraction
int hcf = gcd(num,den);
num = num/hcf;
den = den/hcf;

return this;

}

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

}


/*
output:

Enter numerator; then denominator.
-5
-8
5/8
Enter numerator; then denominator.
4
-10
-2/5
Sum:
9/40
0.225
Product:
-1/4
-0.25
Enter numerator; then denominator.
0
-0
indeterminate


*/

Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti
Java Program public class Fraction { //instance variables int num; int den; //default construtcor Fraction() { num=0; den=1; } //parametrized constructor Fracti

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site