Create a java program that facilitates addition, subtraction, multiplication and division of mixed numbers (similar with the previous activity) but this time all of the inputs/outputs may involve fractions, mixed fractions or combination.   Points to consider: ● Use the same IntelliJ IDEA working folder that you used for the first group project. e.g. 9300MidtermGroup#Project ● Create a package within the project named “prog2.midgrp02”. All classes needed for this activity should be placed within this package. ● MixedFraction class must import the class Fraction located under midgrp02 package. ● 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 variables that SHOULD hold the two operands should be of type Fraction since this type can reference both a Fraction instance or a MixedFraction object. You may, however, have to typecast these variables to MixedFraction if the actual instances referenced are of such type before calling operations for the different calculations. ● 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.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

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

 

Points to consider:
● Use the same IntelliJ IDEA working folder that you used for the first group project.
e.g. 9300MidtermGroup#Project
● Create a package within the project named “prog2.midgrp02”. All classes needed for this
activity should be placed within this package.
● MixedFraction class must import the class Fraction located under midgrp02 package.
● 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 variables that SHOULD hold the two operands should be of type Fraction since this type
can reference both a Fraction instance or a MixedFraction object. You may, however, have to
typecast these variables to MixedFraction if the actual instances referenced are of such type
before calling operations for the different calculations.
● 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:
o 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 super class
and the other end will be the sub class.
o The other arrow signifies that the classes pointed by the arrow will be used by the other
class at the other end.

Instructions:
● Create the classes shown in the diagram in separate source code files. You may use the classes
in the previous activity as reference.
● Your source codes for Fraction and MixedFraction must have documentation comments
which will then be used to automatically generate the documentation for the said source code
files. The html files should be placed eventually in a separate folder named docs. This folder
will be uploaded together with the archived folder during the collection of your output.
● Use the same menu options in the previous activity for this problem but you are to include the
options (input, add, subtract, etc.) applicable for mixed fractions. Be creative in the creation of
your menu.

● The result of each operation should still show the “friendly” string equivalent of the resultant
fraction/mixed fraction as well as the double equivalent of the fraction/mixed fraction (just
like the previous activity).
● Additionally, include exception handling mechanisms in the program. Place a summary of the
modifications you made at the starting part of the code through the comment section. You may
use the format of the comment below:

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
+ setWholePart(whole: int): void
+ setFractionPart(fraction: Fraction): void
+ MixedFraction()
+ Mixed Fraction(whole: int, fraction: Fraction)
+ Mixed Fraction(whole: int, numerator.int, denominator: int)
+ Mixed Fraction(fraction: Fraction)
+getWhole(): int
+ getFraction Part(): Fraction
Fraction
+ toFraction(): Fraction
+ add(other: Mixed Fraction): MixedFraction
MixedFraction
+ subtract(other: Mixed Fraction): MixedFraction
+ multiplyBy(other: MixedFraction): MixedFraction
+ divideBy(other: MixedFraction): MixedFraction
// others
Transcribed Image Text: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 + setWholePart(whole: int): void + setFractionPart(fraction: Fraction): void + MixedFraction() + Mixed Fraction(whole: int, fraction: Fraction) + Mixed Fraction(whole: int, numerator.int, denominator: int) + Mixed Fraction(fraction: Fraction) +getWhole(): int + getFraction Part(): Fraction Fraction + toFraction(): Fraction + add(other: Mixed Fraction): MixedFraction MixedFraction + subtract(other: Mixed Fraction): MixedFraction + multiplyBy(other: MixedFraction): MixedFraction + divideBy(other: MixedFraction): MixedFraction // others
Expert Solution
steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Top down approach design
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education