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](https://dsd5zvtm8ll6.cloudfront.net/si.experts.images/questions/2024/01/65ba3cdf07e38_09465ba3cded64c6.jpg)
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
Get step-by-step solutions from verified subject matter experts
