Homework 1 Instructions
Overview
In this module/week’s
homework assignment, you will complete 2 exercises that will allow you to practice
your skill with the topics of interfaces and exceptions that you learned about
in the Reading & Study materials for this module/week.
Instructions
Exercise 1
Governments and companies worldwide
are becoming increasingly concerned with carbon footprints (annual releases of
carbon dioxide into the atmosphere) from buildings burning various types of
fuel for heat, vehicles burning fuels for power, and the like.
1. Create 3 small classes unrelated by
inheritance: Building, Car, and Bicycle
2. Give each class the unique
attributes and behaviors as specified in the class diagram in Figure 1 below.
Create a single constructor for each class to allow consumers of the class to
provide initial values for each attribute.
3. Write an interface CarbonFootprint with a getCarbonFootprint method.
4. Have each of your classes implement
that interface so that its getCarbonFootprint method calculates the appropriate carbon footprint for that
class, as specified below:
a. Building footprint = ([monthly gas
bill / 10.68] * 119.58 * 12) + ([monthly electric bill / 0.1188] * 1232 * 12)
b. Car footprint = miles driven per
year / miles per gallon * 19.82
c. Bicycle footprint = miles traveled
per month * 0.9
5. Write an application that does the
following:
a. Creates objects of each of the 3 classes
b. Places references to those objects
in an array of CarbonFootprint
c. Iterates through the array,
polymorphically invoking each object’s getCarbonFootprint method
d. For each object, print identifying
information, such as miles traveled or monthly bill amount, along with the
object’s carbon footprint.
Exercise 2
Extend Exercise 1 by creating and
demonstrating the use of an InvalidFootprintException
class.
1. Create the 4 constructors as
discussed in this module/week’s presentations.
2. Extend the appropriate superclass.
3. Throw the InvalidFootprintException in the constructor of the Building,
Car, and Bicycle classes if any of the provided
parameter values are negative.
4. Add code in your main method that
handles the InvalidFootprintException, and write code that demonstrates
that your handler works (i.e., write code that purposefully causes the InvalidFootprintException to be thrown, but then ensure that
it does not crash your program). Instead of crashing, your main method must print
a message to the error stream that an invalid footprint was detected.
Figure 1. Exercise 1 Class Diagram
Get Free Quote!
393 Experts Online