Question: Java Programming - Mixed Fraction Arithmetic: Problem Description: Make a java program that facilitates addition, subtraction, multiplication, and division of mixed numbers (similar with the

Java Programming - Mixed Fraction Arithmetic:

Problem Description:

Make a java program that facilitates addition, subtraction, multiplication, and division of mixed numbers (similar with the first activity) but this time all of the inputs /outputs may involve fractions, mixed fractions, or a combination.

Points to consider:

  • MixedFraction class must override the operations (add, subtract, multiplyBy, divideBy) inherited from Fraction class to have a different implementation if the MixedFraction object will have a Fraction object as parameter in performing the required operation, On top of that, the inherited operations must also be overloaded to allow a MixedFraction object to accept other parameters such as a whole number or another MixedFraction object.

  • The toString method which is inherited must also be overridden by MixedFraction to have a more appropriate return value. Further formatting must also be considered such that if the result of the operation has a zero value for the whole part, the output should only show the fractional part (ex. 0 1/2 should be converted to 1/2), Also, a proper string value is to be returned if the result has a denominator of 1 (ex, 2 0/1 should be converted to 2),

  • toDouble method should also be overridden by MixedFraction.

Other notes:

  • UML diagram:

Fraction FractionTester +main(args: String[]): void // others (modularize your program) -numerator: int

  • The arrow with an arrowhead resembling a triangle signifies that there exists an "is a" relationship between the two classes. The class pointed by the head is the superclass and the other end will be the sub-class.


  • The other arrow signifies that the classes pointed by the arrow will be used by the other class at the other end.


Fraction FractionTester +main(args: String[]): void // others (modularize your program) -numerator: int -denominator: int + Fraction() + Fraction(wholeNumVal: int) + Fraction(numerator: int, denominator: int) + setNumerator (num: int): void + getNumerator(): int + setDenominator (den: int): void + getDenominator(): int toString(): String +toDouble(): double +add(other: Fraction): Fraction multiplyBy(other: Fraction): Fraction. // others -whole: int MixedFraction MixedFraction() + MixedFraction (whole: int, fraction: Fraction) + MixedFraction(whole: int, numerator: int, denominator: int) MixedFraction(fraction: Fraction) + setWholePart(whole: int): void + setFractionPart(fraction: Fraction): void getWhole(): int +getFractionPart(): Fraction toFraction(): Fraction add(other: Mixed Fraction): Mixed Fraction + subtract (other: MixedFraction): MixedFraction +multiplyBy(other: MixedFraction): Mixed Fraction +divideBy(other: MixedFraction): MixedFraction // others

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!