Question
Class design problem for JAVA.(2 CLASSES 1 DRIVER) Please Follow the directions. This is an intro to computer science class. NO ARRAYLIST, NO IMPORTS(ONLY SCANNER).KEEP
Class design problem for JAVA.(2 CLASSES 1 DRIVER)
Please Follow the directions. This is an intro to computer science class.
NO ARRAYLIST, NO IMPORTS(ONLY SCANNER).KEEP EVERYTHING AS SIMPLE AS YOU CAN.
Class Design: Donut (Suggested Time Spent: < 15 minutes)
The Donut class is intended to be an abstract and simplified representation of a yummy edible donut.
Class Properties (MUST be private)
Name of the donut
Type of donut
Price of the donut Class Invariants
Donut name must not be empty (Default: Classic)
Type of donut can only be one of the following: Plain, Filled, or Glazed (Default: Plain)
Class Components
Public Getter and Private Setter for name, type, and price enforce invariants
A constructor that takes in as argument the name and type of the donut (enforce invariants)
o Determine the price of the donut based on the type:
$0.99 for plain
$1.29 for glazed
$1.49 for filled
A toString() method that returns the name, type, and price of the donut.
An equals() method that returns true if its the same name and type (regardless of price).
Class Design: DonutBox (Suggested Time Spent: < 15 minutes)
The DonutBox class is intended to be an abstract and simplified representation of a box of donuts. Among other things, this object should be able to list the price of the donuts.
Class Properties (MUST be private)
Donuts (Donut[]) an array of donuts
Count number of donuts in the box Class Invariants
A box can have at most a dozen donuts Class Components
Public getter ONLY for count public void addDonut (Donut order) {}
public double getPrice() {}
o Returns the total price (before tax) of the donuts in the box, with applicable discount:
Under 6 donuts, no discount
6 to 12 donuts, 10% discount
12 donuts exactly, 20% discount
public String toString() {} returns a String containing all the donuts in the box
(Extra Credit: 1 point)
An enum for box type (Small, Medium, Large)
(Extra Credit: 1 point)
A public method that returns the size of the box as an enum constant.
o Small box fits exactly one donut, medium fits up to six donuts, large fits up to 12.
Driver Class: DonutBoxDriver (Suggested Time Spent: < 10 minutes)
The DonutBoxDriver class is intended to be a simple driver to test the Donut and DonutBox objects and should include a main() method as well as other helper methods. At minimum, the driver class should:
Create a box with only one donut
Create a box of up to six donuts
Create a box of more than six but less than twelve donuts
Create a box of dozen donuts
For each box created
o Print out the contents
o Print out the price (before tax) of the donuts in the box
Grading Criteria
Donut class object (Total: 15 Points)
o [1 Point] Proper class definition syntax
o [3 Points] Implements all required properties
o [1 Points] Implements required getters
o [2 Points] All invariants properly enforced
o [3 Points] Constructor properly implemented
o [3 Points] toString method properly implemented
o [2 Points] equals method properly implemented
DonutBox class object (Total: 15 Points) o
[1 Point] Proper class definition syntax
o [2 Points] Implements all required properties
o [1 Point] Implements required getter
o [2 Points] All invariants properly enforced
o [9 Points] Methods (addDonut, getPrice, toString) properly implemented (3 points per method)
DonutBoxDriver program (Total: 10 Points)
o [1 Point] Proper class definition syntax
o [1 Point] Proper main method syntax
o [8 Points] Create, print contents and price of the four boxes (2 points per box created)
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