1401 Introduction to Computer Science
Objective. The purpose of this lab is to practice
Fall 2013, Lab 12
Background. In your Labs 9-11, you designed methods to deal with fractions.
In these labs, we did not require you to take into account:
a denominator of a fraction cannot be 0, and
- that it is not possible to divide by a fraction which is equal to 0.
Assignment. Modify your Lab 10 so that when in both 0 cases, a proper exception is raised, and
a proper action is performed. Specifically:
In the main method:
- make the Fraction constructor throw an IllegalArgumentException (or a custom Exception as explained in Section 14.9, for extra credit);
- make the division method in the Fraction class throw a similar exception if the divisor is zero.
Catch the exceptions thrown by the Fraction methods and print appropriate error messages.
- prompt the user to provide the numerator and the denominator
for two fractions and an operator,
- create the fraction objects,
- apply the operator, and
- print the result.
In addition, if the user provides invalid values for a numerator and/or a denominator, catch the exception and print an appropriate error message.
For extra credit. Make a similar modification of Lab 11. Do the same thing as in modification of Lab 10, except that:
Write the error message either in a text field, or in a dialog box (using JOptionPane, as in Section 1.9).
- the fractions and operators are read from the appropriate text fields, and
- the answer is written in other appropriate text fields.
When it is due. Lab 12 is due at the beginning of the
first lab section on the week of November 25, i.e.:
Monday November 25 for those who attend Monday-Wednesday labs, and
- on Tuesday November 26 for those who attend Tuesday-Thursday