Question

I have this program that I need to alter a bit and I am having trouble...

I have this program that I need to alter a bit and I am having trouble figuring it out. I need the addition, subtraction, multiplication and division to be changed only. This is the example for the addition part:

public class TestFraction{

.

.

.

result = f1.addFraction(f2)

.

.

.

class Fraction{

.

.

.

.

public addFraction(fraction OtherFraction)

double a = this.numerator;

double b = this.denominator;

double c = OtherFraction.getNumerator();

double d = OtherFraction.getDenominator();

Fraction result = new Fraction(a * d + b * c, b * d);

return result;

Below is the working program that needs the changes, I just need help with the programming looking the same, but with these slight alterations. Thank you.

import java.util.Scanner;

public class TestFraction {

         public static void main(String[] args) {

         Scanner input = new Scanner(System.in);

        

        

         Fraction f1 = new Fraction();

        

         System.out.print("Enter numerator for myFraction1: ");

         int n1 = input.nextInt();

         f1.setNumerator(n1);

         System.out.print("Enter denominator for myFraction1: ");

         int d1 = input.nextInt();

         f1.setDenominator(d1);

        

         System.out.println();

         System.out.print("Enter numerator for myFraction2: ");

         int n2 = input.nextInt();

         System.out.print("Enter denominator for myFraction2: ");

         int d2 = input.nextInt();

         Fraction f2 = new Fraction(n2, d2);

        

         System.out.println();

         System.out.print("myFraction1 = ");

         f1.printFraction();

         System.out.println();

         System.out.print("myFraction2 = ");

         f2.printFraction();

         System.out.println();

        

         System.out.println();

         System.out.println("The numerator of myFraction1 is: " + f1.getNumerator());

         System.out.println("The denominator of myFraction1 is: " + f1.getDenominator());

         System.out.println();

         System.out.println("The numerator of myFraction2 is: " + f2.getNumerator());

         System.out.println("The denominator of myFraction2 is: " + f2.getDenominator());

        

         System.out.println();

         f1.printFraction();

         System.out.print(" + ");

         f2.printFraction();

         System.out.print(" = ");

         Fraction ADD = new Fraction(f1.getNumerator(), f1.getDenominator());

         ADD.addFraction(f2);

         ADD.printFraction();

         System.out.println();

        

         f1.printFraction();

         System.out.print(" - ");

         f2.printFraction();

         System.out.print(" = ");

         Fraction SUB = new Fraction(f1.getNumerator(), f1.getDenominator());

         SUB.subtractFraction(f2);

         SUB.printFraction();

         System.out.println();

        

         f1.printFraction();

         System.out.print(" * ");

         f2.printFraction();

         System.out.print(" = ");

         Fraction MUL = new Fraction(f1.getNumerator(), f1.getDenominator());

         MUL.multiplyFraction(f2);

         MUL.printFraction();

         System.out.println();

        

         System.out.print("(");

         f1.printFraction();

         System.out.print(") / (");

         f2.printFraction();

         System.out.print(") = ");

         Fraction DIV = new Fraction(f1.getNumerator(), f1.getDenominator());

         DIV.divideFraction(f2);

         DIV.printFraction();

         System.out.println();

         }

        }

        class Fraction

        {

            

        private int numerator;

        private int denominator;

        

        

        Fraction()

        {

        numerator = 0;

        denominator = 1;

        }

        

        Fraction(int n, int d)

        {

        numerator = n;

        denominator = d;

        }

        

        public int getNumerator()

        {

        return numerator;

        }

        

        public int getDenominator()

        {

        return denominator;

        }

        

        public void setNumerator(int n)

        {

        numerator = n;

        }

        

        public void setDenominator(int d)

        {

        denominator = d;

        }

    

        public void printFraction()

        {

        System.out.print(numerator + " / " + denominator);

        }

    

        public static int gcd(int a, int b)

        {

        if(b==0)

        return a;

        else

        return gcd(b, a%b);

        }

        

        void reduceFraction()

        {

        int g = gcd(numerator, denominator);

        numerator = numerator/g;

        denominator = denominator/g;

        }

    

        void addFraction(Fraction f2)

        {

        int n1 = numerator;

        int d1 = denominator;

        int n2 = f2.numerator;

        int d2 = f2.denominator;

        

        numerator = (n1*d2) + (n2*d1);

        denominator = d1*d2;

        this.reduceFraction();

        }

        

        void subtractFraction(Fraction f2)

        {

        int n1 = numerator;

        int d1 = denominator;

        int n2 = f2.numerator;

        int d2 = f2.denominator;

        

        numerator = (n1*d2) - (n2*d1);

        denominator = d1*d2;

        this.reduceFraction();

        }

    

        void multiplyFraction(Fraction f2)

        {

        int n1 = numerator;

        int d1 = denominator;

        int n2 = f2.numerator;

        int d2 = f2.denominator;

        

        numerator = n1*n2;

        denominator = d1*d2;

        this.reduceFraction();

        }

        

        void divideFraction(Fraction f2)

        {

        int n1 = numerator;

        int d1 = denominator;

        int n2 = f2.numerator;

        int d2 = f2.denominator;

        

        numerator = n1*d2;

        denominator = d1*n2;

        this.reduceFraction();

        }

            }

0 0
Add a comment Improve this question Transcribed image text
Answer #1

package com.HomeworkLib.fractions;

public class Fraction {

   private int numerator;
   private int denominator;

   protected Fraction() {
       numerator = 0;
       denominator = 1;
   }

   public Fraction(int numerator, int denominator) {
       super();
       this.numerator = numerator;
       this.denominator = denominator;
   }

   public int getNumerator() {
       return numerator;
   }

   public void setNumerator(int numerator) {
       this.numerator = numerator;
   }

   public int getDenominator() {
       return denominator;
   }

   public void setDenominator(int denominator) {
       this.denominator = denominator;
   }

   public static int gcd(int a, int b)

   {
       if (b == 0)
           return a;
       else
           return gcd(b, a % b);
   }

   void reduceFraction()

   {
       int g = gcd(numerator, denominator);
       numerator = numerator / g;
       denominator = denominator / g;
   }

   void addFraction(Fraction f1, Fraction f2) {
       numerator = (f1.numerator * f2.denominator) + (f2.numerator * f1.denominator);
       denominator = f1.denominator + f2.denominator;
       reduceFraction();
       printFraction(f1, f2, '+');
   }

   void subtractFraction(Fraction f1, Fraction f2) {
       numerator = (f1.numerator * f2.denominator) - (f2.numerator * f1.denominator);
       denominator = f1.denominator + f2.denominator;
       reduceFraction();
       printFraction(f1, f2, '-');
   }

   void multiplyFraction(Fraction f1, Fraction f2) {
       numerator = (f1.numerator * f2.numerator);
       denominator = f1.denominator * f2.denominator;
       reduceFraction();
       printFraction(f1, f2, '*');
   }

   void divideFraction(Fraction f1, Fraction f2) {
       numerator = (f1.numerator / f2.numerator);
       denominator = f1.denominator / f2.denominator;
       reduceFraction();
       printFraction(f1, f2, '/');
   }

   public void printFraction(Fraction f1, Fraction f2, char ch) {
       System.out.println(f1.numerator + "/" + f1.denominator + " " + ch +" " + f2.numerator + "/" + f2.denominator + " = "
               + this.numerator + "/" + this.denominator);
   }

}

----------------------------------------------------------------------------------------------------------------------------------------------------

package com.HomeworkLib.fractions;

import java.util.Scanner;

public class TestFraction {
  
   public static void main(String[] args) {
       Scanner input = new Scanner(System.in);
      
       Fraction f1 = new Fraction();
       System.out.println("Enter numerator for myFraction1: ");
       int n1 = input.nextInt();
       f1.setNumerator(n1);
       System.out.println("Enter denominator for myFraction1: ");
       int d1 = input.nextInt();
       f1.setDenominator(d1);
      
       Fraction f2 = new Fraction();
       System.out.println("Enter numerator for myFraction2: ");
       int n2 = input.nextInt();
       f2.setNumerator(n2);
       System.out.println("Enter denominator for myFraction2: ");
       int d2 = input.nextInt();
       f2.setDenominator(d2);
      
       Fraction obj=new Fraction();
      
       obj.addFraction(f1,f2);
       obj.subtractFraction(f1,f2);
       obj.multiplyFraction(f1,f2);
       obj.divideFraction(f1,f2);
   }

}

-------------------------------------------------------------------------------------------------------------------------------------------------

I have made some changes to your methods.

Hope i have answered your question. Please give review.

Regards

Add a comment
Know the answer?
Add Answer to:
I have this program that I need to alter a bit and I am having trouble...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT