A Second Look at Classes and Objects
Contents A.Stock Purchase Problem B.Employee Problem C.Drawing Lines D.Exercises
A. Stock Purchase Problem A stock purchase consists of info of a stock and number of shares Info of a stock includes the trading symbol and share price –Trading symbol is a short series of characters that are used to identify the stock on the stock exchange Develop a program to calculate the cost of a stock purchase, given that cost = number-of shares × share-price
Solution 1.Design 2.Test Case 3.Developing Test Class 4.Fixing Test Class
1. Design
2. Test Case Input: –Stock Trading symbol: XYZ Share price: $9.62 –Number of shares: 100 Output: $962.0
3. Developing Test Class
4. Fixing Test Class 4.1. Creating Class Stock 4.2. Creating Class StockPurchase 4.3. Running Test Class To See Red Bar 4.4. Changing delta in Test Method
4.1. Creating Class Stock
4.2. Creating Class StockPurchase
4.4. Changing delta in Test Method
B. Employee Problem Info of an employee includes: first name, last name, birthday, and hire day. Develop the Employee class
Solution 1.Design 2.Test Cases 3.Developing Test Class 4.Fixing Test Class
1. Design
A Better Design
An Even Better Design
2. Test Cases Example 1 –Personal Info Name –First name: Sue –Last name: Jones Birthday: Sept 5, 1986 –Hire day: Jan 1, 2007 Example 2 –Personal Info Name –First name: Bob –Last name: Blue Birthday: July 24, 1949 –Hire day: March 12, 1988
3. Developing Test Class
4. Fixing Test Class Develop PersonalInfo Develop class Name Handling Date
Develop static factory method makeDate()
Develop Class Employee
C. Drawing Lines 1. Drawing Random Lines 2. Drawing a Flower
1. Drawing Random Lines Draw a random number of lines (at least 1 and at most 5) inside a frame
2. Drawing a Flower
D. Exercises 1.The Savings Account Problem 2.The Course Problem 3.The Sports Car Problem 4.The Retail Problem 5.The Parking Problem
1. The Savings Account Problem A savings account has a balance indicating the amount the saver currently has on deposit. The bank applies the same annual interest rate for all account holders Develop a program that has the following behaviors –Setting a new value for the annual interest rate –Calculating the monthly interest (by multiplying the balance by the annual interest rate divided by 12) –Updating the balance monthly by adding the monthly interest to the current balance Test your program with two savings accounts with balances of $ and $ In the beginning, the annual interest rate is 4%. After a month, the annual interest rate is changed to 5%
2. The Course Problem A course holds the following information: –The course name –The instructor’s last name, first name, and office number –The textbook’s title, author, and publisher
3. The Sports Car Problem A sports car has the following information: –The type (make) –The color –The price The type is either Porsche, Ferrari, or Jaguar The color is either red, black, blue, or silver
4. The Retail Problem An item in a retail store holds the following information –A brief description of the item –The number of units currently in inventory –The item’s retail price For example DescriptionUnits on HandPrice Item #1Jacket Item #2Designer Jeans Item #3Shirt
A cash register is a sale of a retail item Given the quantity of items being purchased, the cash register provides the sale’s subtotal, amount of sales tax, and total –The subtotal is the quantity multiplied by the price –The sales tax rate is 6% of a retail sale –The total is the subtotal plus the sales tax
5. The Parking Problem This problem is about a police officer issuing a parking ticket A parked car holds the following information –The car’s make (for example Toyota) –The model (for example, Nissan Z28) –The color –The license number (for example XY-1234) –The number of minutes that the car has been parked A parking meter records the number of minutes of parking time that has been purchased A parking ticket is responsible for –Reporting the make, model, color, and license number of the illegally parked car –Reporting the amount of the fine, which is $25 for the first hour or part of an hour that the car is illegally parked, plus $10 for every additional hour or part of an hour that the car is illegally parked –Reporting the name and badge number of the police officer issuing the ticket A police officer inspecting parked cars is responsible for –Telling his/her name and badge number –Examining the parked car and the parking meter, and determining whether the car’s time has expired –Issuing a parking ticket if the car’s time has expired
References 1.Java How to Program, Seventh Edition, Chapter 8. Deitel & Deitel, Starting Out with Java, Chapter 9. Tony Gaddis and Godfrey Muganda, Core Java, Volume II – Advanced Features, Eighth Edition, Chapter 1. Cay S. Horstmann & Gary Cornell. Prentice Hall, 2008