Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program that adds, subtracts, multiply, and divide fractions. Example (1

ID: 3562042 • Letter: W

Question

Write a program that adds, subtracts, multiply, and divide fractions. Example (1,2) in fraction is 1/2. My question is when i want to add an int x to the fraction, it doesn't work. Here is my code:

import java.util.Scanner;

public class Fraction
{
   private int num;
   private int den;
   private int x;
  
   public void read()
   {
       Scanner keyboard = new Scanner(System.in);
   }
   public Fraction (int n, int d)
   {
       if (d == 0)
       {
           System.exit(0);
       }
       else
       {
           num = n;
           den = d;
       }
   }
      
   public Fraction add(Fraction b)
   {
       int num1 = (this.num * b.den) + (b.num * this.den); // cross multiply and add
       int num2 = this.den * b.den; // multiply the denominator
       return reduction(num1,num2);
   }
  
   public Fraction add(int x) // this code does not work
   {
       Fraction answer = new Fraction();
       int num1 = (this.num * x.den) + (x.num * this.den);
       int num2 = this.den * x.den;
       return reduction(num1.num2);
      
   }
  

   public Fraction subtract(Fraction b)
   {
       int num1 = (this.num * b.den) - (b.num* this.den);
       int num2 = this.den * b.den;
       return reduction(num1,num2);
   }
  
   public Fraction multiply(Fraction b)
   {
       int num1 = this.num * b.num;
int num2 = this.den * b.den;
       return reduction(num1,num2);
   }
  
   public Fraction divide(Fraction b)
   {
       int num1 = this.num * b.den;
int num2 = this.den * b.num;
       return reduction(num1,num2);
   }
  
   public void reciprocal() // gets the reciprocal
   {
       System.out.println(den + "/" + num);
   }
  
   public static int greatestCommonDivisor(int a, int b) // to get greatest common divisor
   {
       int temp = a % b;
       while(temp > 0)
       {
           a = b;
           b = temp;
           temp = a % b;
       }
       return b;
   }
  
   public Fraction reduction(int n, int d)
   {
       int gcdNum = greatestCommonDivisor(n,d);
       d = d / gcdNum;
       n = n / gcdNum;
       return new Fraction(n,d);
   }
  
   public String toString()
   {
       if(num > den && den > 1)
   return (num + "/" + den + " or " + (num/den) + " " + (num % den) + "/" + den);
       else
           return(num + "/" + den);
   }

}

DRIVER

public class FractionDemo
{
public static void main (String[] args)
{
Fraction r1 = new Fraction (1, 2);
Fraction r2 = new Fraction (2, 3);
Fraction r3, r4, r5, r6, r7, r8, r9;
int r10;

System.out.println ("First fraction number: " + r1);
System.out.println ("Second fraction number: " + r2);

if (r1.equals(r2))
System.out.println ("r1 and r2 are equal.");
else
System.out.println ("r1 and r2 are NOT equal.");

System.out.println ("The reciprocal of r2 is:");
r2.reciprocal();

r4 = r1.add(r2);
r5 = r1.subtract(r2);
r6 = r1.multiply(r2);
r7 = r1.divide(r2);
   r8 = r1.add(5); // adds 5 to the fraction
   r9 = r1.multiply(5); // multipies 5 to the fraction
System.out.println ("r1 + r2: " + r4);
System.out.println ("r1 - r2: " + r5);
System.out.println ("r1 * r2: " + r6);
System.out.println ("r1 / r2: " + r7);
System.out.println ("r1 + 5: " + r8);
System.out.println ("r1 * 5: " + r8);
}
}

Explanation / Answer

you cant add or subtract an integer to the float...change both to float and error shall disappear

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote