In: Computer Science
Java
The whole idea is for me to gain a better understanding of the logic. If possible, can you go off of what I have started and not just give me a whole new written program?
Also, don't simplify result.
Implement a class named “Fraction” with the following properties:
numerator: int type, private
denominator: int type, private
and the following methods:
one default constructor which will create a fraction of 1/1.
one constructor that takes two parameters which will set the values of numerator and denominator to the specified parameters.
int getNum() : retrieves the value of numerator
int getDenom(): retrieves the value of the denominator
Fraction add(Fraction frac): adds with another Fraction number and returns the result in a new Fraction object.
Fraction sub(Fraction frac): is subtracted by another Fraction frac and returns the result in a new Fraction object.
Fraction mult(Fraction frac): multiplies with another Fraction number and returns the result in a new Fraction object.
Faction div(Fraction frac): is divided by another Fraction number and returns the result in a new Fraction object.
void print(): prints the Fraction number out
This is what I have so far, but I am getting hung up..
import java.util.Scanner;
public class Fraction {
private int numerator;
private int denominator;
//Default constructor that sets 1/1 fraction
Fraction(){
numerator=1;
denominator=1;
}
//Constructor that creates fraction with specified parameters
Fraction(int newNumerator, int newDenominator){
numerator = newNumerator;
denominator = newDenominator;
}
//Retreives value of numerator
public int getNum(){
return numerator;
}
//Retreives value of denominator
public int getDenom(){
return denominator;
}
//Adds fraction with another and returns value as Fraction
object
public Fraction add(Fraction frac){
if(frac.denominator==denominator){
int num= frac.numerator+numerator;
int denom = denominator;
}else{
int denom = this.getDenom() * frac.getDenom();
int num = this.getNum()*frac.getDenom() +
frac.getNum()*this.getDenom();
}
return new Fraction(num,denom);
}
//Subtracts fraction with another and returns value as Fraction
object
public Fraction sub(Fraction frac){
int num = frac.numerator+numerator;
int denom= frac.denominator-denominator;
return new Fraction(num,denom);
  
}
//Multiplies fraction with another and returns value as Fraction
object
public Fraction mult(Fraction frac){
int num = frac.getNum()*numerator;
int denom = frac.getDenom()*denominator;
return new Fraction(num,denom);
}
//Divides fraction with another and returns value as Fraction
object
public Fraction div(Fraction frac){
int num = frac.getDenom()*numerator;
int denom = frac.getNum()*denominator;
return new Fraction(num,denom);
}
public void print(){
System.out.print(numerator + "/" + denominator);
}
import java.util.Scanner;
public class Fraction {
   private int numerator;
   private int denominator;
   //Default constructor that sets 1/1 fraction
   Fraction(){
      
       numerator=1;
       denominator=1;
   }
   //Constructor that creates fraction with specified
parameters
   Fraction(int newNumerator, int newDenominator){
       // check that denominator is not 0,
if it is 0 set it to 1
       if(newDenominator == 0)
           newDenominator =
1;
          
       numerator = newNumerator;
       denominator = newDenominator;
   }
   //Retreives value of numerator
   public int getNum(){
       return numerator;
   }
   //Retreives value of denominator
   public int getDenom(){
       return denominator;
   }
   //Adds fraction with another and returns value as
Fraction object
   public Fraction add(Fraction frac){
      
       // no need to check equality of
denominator, if denominator of both fractions is 1, then numerator
= addition of both numerators
      
       int num =
this.getNum()*frac.getDenom() +
frac.getNum()*this.getDenom();
      
       int denom = this.getDenom() *
frac.getDenom();
      
       return new
Fraction(num,denom);
   }
   //Subtracts fraction with another and returns value
as Fraction object
   public Fraction sub(Fraction frac){
      
       // numerator will be (product of
numerator of first fraction and denominator of second fraction) -
(product of denominator of first fraction and numerator of second
fraction)
       int num =
this.getNum()*frac.getDenom() -
frac.getNum()*this.getDenom();
      
       int denom = this.getDenom() *
frac.getDenom(); // denominator will be product of both
denominators
      
      
       return new
Fraction(num,denom);
  
   }
   //Multiplies fraction with another and returns
value as Fraction object
   public Fraction mult(Fraction frac){
       int num =
frac.getNum()*numerator;
       int denom =
frac.getDenom()*denominator;
       return new
Fraction(num,denom);
   }
   //Divides fraction with another and returns value
as Fraction object
   public Fraction div(Fraction frac){
       int num =
frac.getDenom()*numerator;
       int denom =
frac.getNum()*denominator;
       return new
Fraction(num,denom);
   }
   public void print(){
       System.out.print(numerator + "/" +
denominator);
   }
}