Answered step by step
Verified Expert Solution
Question
1 Approved Answer
Part I: Create a new Java class named Pencil that has the following fields: color (String), brand(String), price (double) A pencil can have one of
Part I:
Create a new Java class named Pencil that has the following fields:
color (String), brand(String), price (double)
A pencil can have one of the following colors: Orange, Yellow, Brown, or Blue (all other colors are considered as invalid and default to Brown); The length of a band name is within the range of [3, 20]. The price of a pencil is limited to [$0.01, $200] (for all other prices, set the price to $0.50). The following rules are applied when a client program tries to set brand name:
Because the length of a brand name is limited to [3,20], if the length of a brand name is less than 3, you should repeat the brand name until it meets the length requirement. For example, if the brand name is "A", you are going to repeat it three times so it becomes "AAA", which meets the length requirement. If the length exceeds 20, your program should take the first 20 characters as its brand name.
Constructor - The constructor should accept the color, brand, price as arguments. These values should be used to initialize the pencil color, brand, and price. Getter Methods and setter methods for all instance variables.
toString method which returns info about the pencil in the following format:
PencilColor Brand unitPrice
Pencil color occupies 10 spaces(left aligned), brand name 20 spaces(right aligned), and unit price 10 spaces (hint: use String.format() method)
For example:
Black BIC $0.90
Part II:
Create a class named PencilBox. There are exactly 10 pencils in each PencileBox with two mixed colors (at your choice). The PencilBox has the following method:
Constructor(Pencil type1, int qty1, Pencil type 2, int qty2)
a method called totalCost which returns the total cost (total price of the pencils in a pencilBox)
toString method which returns the info about pencils in the box.
For example, there are 5 brown and 5 yellow color pencils in a pencilBox, the unit price for a brown color pencil is $0.90 and $0.80 for yellow ones. Then the toString method return a String as shown below:
Brown BIC $4.50
Black CIS201 $4.00
Each pencil box stores exactly 10 pencils. For all invalid quantities, your program should set 5 to each color, so altogether, there are 10 pencils in the pencil box.
No getter or setter methods are necessary for this PencilBox class.
Part III:
Write driver (tester) class named SchoolBag.java that uses your Pencil and PencilBox class:
1. create two pencil objects
2. create a PencilBox object that uses the pencil object created in step 1
3. printout th pencilBox as follows
Color Brand Subtotal
-------- --------- ----------
Brown BIC $4.50
Black CIS201 $4.00
--------------------------------------
Grand Total: $8.50
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started