Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Relational Database Design With Microcomputer Applications

Authors: Glenn A. Jackson

1st Edition

0137718411, 978-0137718412

More Books

Students also viewed these Databases questions

Question

2. Why has the conflict escalated?

Answered: 1 week ago

Question

1. What might have led to the misinformation?

Answered: 1 week ago