Problem

Write a class MonsterTruck that relates to the Car and Truck classes from Self-Check Probl...

Write a class MonsterTruck that relates to the Car and Truck classes from Self-Check Problems 1 and 2 and whose methods have the following behavior. Whenever possible, use inheritance to reuse behavior from the superclasses.

Method

Output/Return

m1

monster 1

m2

truck 1

 

car 1

toString

"monster vroomvroom"

Problem 1

MinMaxAccount. A company has written a large class BankAccount with many methods including:

public BankAccount(Startup s)

Constructs a BankAccount object using information in s

public void debit(Debit d)

Records the given debit

public void credit(Credit c)

Records the given credit

public int getBalance ( )

Returns the current balance in pennies

Design a new class MinMaxAccount whose instances can be used in place of a bank account but include new behavior of remembering the minimum and maximum balances ever recorded for the account. The class should have a constructor that accepts a Startup parameter. The bank account’s constructor sets the initial balance on the basis of the startup information. Assume that only debits and credits change an account’s balance. Include these new methods in your class:

public int getMin ( )

Returns the minimum balance in pennies

public int getMax ( )

Returns the maximum balance in pennies

Problem 2

DiscountBill. Suppose a class GroceryBill keeps track of a list of items being purchased at a market:

public GroceryBill(Employee clerk)

Constructs a grocery bill object for the given clerk

public void add(Item i)

Adds the given item to this bill

public double getTotal ( )

Returns the total cost of these items

public void printReceipt ( )

Prints a list of items

Grocery bills interact with Item objects, each of which has the public methods that follow. A candy bar item might cost 1.35 with a discount of 0.25 for preferred customers, meaning that preferred customers get it for 1.10. (Some items will have no discount, 0.0.) Currently the preceding classes do not consider discounts. Every item in a bill is charged full price, and item discounts are ignored.

public double getPrice ( )

Returns the price for this item

public double getDiscount ( )

Returns the discount for this item

Define a class DiscountBill that extends GroceryBill to compute discounts for preferred customers. Its constructor accepts a parameter for whether the customer should get the discount. Your class should also adjust the total reported for preferred customers. For example, if the total would have been $80 but a preferred customer is getting $20 in discounts, then getTotal should report the total as $60 for that customer. Also keep track of the number of items on which a customer is getting a nonzero discount and the sum of these discounts, both as a total amount and as a percentage of the original bill. Include the extra methods that follow, which allow a client to ask about the discount. Return 0.0 if the customer is not a preferred customer or if no items were discounted.

public DiscountBill(Employee clerk, boolean preferred)

Constructs bill for given clerk

public int getDiscountCount ( )

Returns the number of items that were discounted, if any

public double getDiscountAmount ( )

Returns the total discount for this list of items, if any

public double getDiscountPercent ( )

Returns the percent of the total discount as a percent of what the total would have been otherwise

Step-by-Step Solution

Request Professional Solution

Request Solution!

We need at least 10 more requests to produce the solution.

0 / 10 have requested this problem solution

The more requests, the faster the answer.

Request! (Login Required)


All students who have requested the solution will be notified once they are available.
Add your Solution
Textbook Solutions and Answers Search
Solutions For Problems in Chapter 9
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT