- You need to implement Fraction class which is within package PJ1 See PJ1/Fract
ID: 3568729 • Letter: #
Question
- You need to implement Fraction class which is within package PJ1
See PJ1/Fraction.java and PJ1/FractionInterface.java for specifications
- Use PJ1_Test.java to test correctness of your proggram
- Compile programs (you are in directory containing Readme file):
javac PJ1/*.java
javac PJ1_Test.java
- Run programs (you are in directory containing Readme file):
// Run tests in Fraction class
java PJ1.Fraction
// Run main test program
java PJ1_Test
- Note: For some systems, you may require
javac -cp . PJ1_Test.java
java -cp . PJ1.Fraction
java -cp . PJ1_Test
- Bonus (25%): Implement GUI test program
Before implemeting GUI test program,
your program must work for all test cases using PJ1_Test.
Explanation / Answer
public class Fraction implements FractionInterface, Comparable<Fraction>
{
private int num; // Numerator
private int den; // Denominator
public Fraction()
{
// set fraction to default = 0/1
setFraction(0, 1);
} // end default constructor
public Fraction(int numerator, int denominator)
{
// implement this method!
setFraction(numerator, denominator);
} // end constructor
public void setFraction(int numerator, int denominator)
{
// return FractionException if initialDenominator is 0
// implement this method!
if (denominator == 0)
throw new FractionException("My Exception Occurred");
if (denominator < 0){
numerator = num * -1;
denominator = denominator * -1;
}
num = numerator;
den = denominator;
this.simplify();
} // end setFraction
public double toDouble()
{
// return double floating point value
// implement this method!
return (double)num/den;
} // end toDouble
private int getDenominator(){
return this.den;
}
public FractionInterface add(FractionInterface secondFraction)
{
// a/b + c/d is (ad + cb)/(bd)
// implement this method!
Fraction second = (Fraction)secondFraction;
Fraction addition = new Fraction (((this.num * second.den) + (second.num * this.den)), (this.den * second.den));
addition.simplify();
return addition;
} // end add
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.