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);
}
}