This set of labs should help you firm up your knowledge of OOP basics.
Do Programming Exercises P3.1, P3.2, & P3.3. Compare and contrast the two approaches to implementing the addInterest method in P3.2 and P3.3.
Do one of Programming Exercises P3.6, P3.7, and P3.8.
On P3.7, though, allow the programmer to choose the fuel efficiency measure's units. Provide three more methods for access to the units: getEfficiencyUnits(), getDistanceUnits(), and getFuelUnits().
Do one of Programming Exercises P3.9, P3.10, and P3.11.
Do one of Programming Exercises P3.12, P3.13, and P3.14.
On P3.12, though, consider whether the Moth can ever reach its goal. What do you think? Can you prove your conjecture? Please, elaborate...
This space reserved to add more labs...maybe...
This lab set is worth (Level 4).
You can add (Level 1) by going back and doing any of the exercises you decided not to do in the last three parts above (where you chose one of three exercises to do). This booster can be chosen up to ...let's see...um... six times. Yeah...that's the ticket!
You can add (Level 2) by doing P3.4.
You can add (Level 2) by doing P3.5.
If you did P3.4, too, add another (Level 1). The adjustment is because you'll have to make sure you put in the getSalesTaxTotal method in addition to splitting the getSalesTotal method into the separate getTaxableSalesTotal and getNonTaxableSalesTotal methods.
You can add (Level 1) by having the fuel efficiency units for P3.7 set with a single member variable and constructor argument/parameter. This will cause you to have to explore the String class' methods in a bit more depth (locate the '/', copy a subString, ...
You can add (Level 1) by doing Exercise P3.15.
You can add (Level ?) by doing Exercise P3.16.
Replicating the supplied sample is worth (Level 1). More elaborate versions (such as suggested or otherwise) can be worth more credit depending on Java language skills required to accomplish them (80%) and/or artistic impressiveness/prowess (20%).
Implementing the positioning/sizing constructor concept from Exercise P3.17 can add another (Level 2) to your program. But make sure that none of your houses is drawn even partially off of the screen!
You can add (Level 2) by doing Exercises P3.18 & P3.19.
You can add (Level 2) by doing Exercise P3.20.
You can add (Level 1) by doing Exercise P3.21.
You can add (Level 2) by doing Exercise P3.22.
You can add (Level 2) by doing Project 3.1. Document your progress by creating two separate programs — one for each stage suggested.
You can add (Level 3) by doing Project 3.2. Document your progress by creating three separate programs — one for each 'stage' suggested. (I think the first stage is clear: up to "That is boring". The second stage I see, though, is a bit fuzzy bordered: just the constructor enhancement paragraph. The last stage is the rest of the modifications: new methods for sayGoodbye and refuseHelp.)
If you do your testing in BlueJ, make sure to document what steps you did, take a screen video of it (this will be large and require you to bring in your video on a USB drive), or make an appointment to demonstrate for me on your LapTop installation (we don't have BlueJ on campus, to my knowledge).
This space reserved to add more boosters...