Question: BillingItem class o Must have 3 fields: 1 . An ArrayList which holds BillingSubItems, called subitems 2 . A double called amount 3 . A

BillingItem class
o Must have 3 fields:
1. An ArrayList which holds BillingSubItems, called subitems
2. A double called amount
3. A string called description
o It must have 3 constructors:
1. The default constructor, which initializes all fields with 0 or an empty string,
as appropriate.
2. An overloaded constructor, which takes in a double to initialize amount, and
initializes description with an empty string.
3. An overloaded constructor, which takes in a double to initialize amount and
a string to initialize description.
4. All constructors should initialize subitems.It must have the following methods:
1. getAmount(), which takes in nothing and returns a double. If subitems is
empty, it returns amount. Otherwise, this method adds up the amount of all
of the BillingSubItems in subitems, returning that summation. If subitems
has elements in it, do not add the BillingItems amount to the
summation.
2. setAmount(), which takes in a double and returns nothing. It updates the
value in amount with the value in the parameter. Note that no guard for the
input is necessary, as we want to allow for negative values in case we want
to offer a discount on something.
3. addSubItem(), which takes in a BillingSubItem and returns nothing, adding
it to subitems.
4. removeSubItem(), which takes in a BillingSubItem and returns nothing,
removing it from subitems.
5. getSubItem(), which takes in an integer and returns a BillingSubItem. If the
integer is in bounds of subitems, return the BillingSubItem at that position.
Otherwise, return null.
6. seeSubItems(), which takes in nothing and returns a string. This method
works exactly as seeItems() in Bill, but it uses the BillingSubItems stored
inside subitems.
7. A getter and a setter for description.
8. An overload of toString(). If the BillingItem has no BillingSubItems, it will
simply return its description and its amount. If the BillingItem does have
BillingSubItems, it must return: Its own description, in its own line
Every BillingSubItem in the BillingItem (which you can retrieve by
calling every BillingSubItems toString()), each in its own line
Every BillingSubItem must be preceded by a tab character (\t).

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!