Create A Java Class Named HeadPhone To Represent A Headphone Set
CMIS 141 7984 Introduction to Programming
Create a TestHeadPhone class that constructs at least 3 HeadPhone objects. For each of the objects constructed, demonstrate the use of each of the methods. Be sure to use your IDE to accomplish this assignment.
Before attempting this project, be sure you have completed all of the reading assignments, hands-on labs, discussions, and assignments to date.
(25 points) Create a Java class named HeadPhone to represent a headphone set. The class contains:
Three constants named LOW, MEDIUM and HIGH with values of 1, 2 and 3 to denote the headphone volume.
A private int data field named volume that specifies the volume of the headphone. The default volume is MEDIUM.
A private boolean data field named pluggedIn that specifies if the headphone is plugged in. The default value if false.
A private String data field named manufacturer that specifies the name of the manufacturer of the headphones.
A private Color data field named headPhoneColor that specifies the color of the headphones.
getter and setter methods for all data fields.
A no argument constructor that creates a default headphone.
A method named toString() that returns a string describing the current field values of the headphones.
A method named changeVolume(value) that changes the volume of the headphone to the value passed into the method
Create a TestHeadPhone class that constructs at least 3 HeadPhone objects. For each of the objects constructed, demonstrate the use of each of the methods. Be sure to use your IDE to accomplish this assignment.
Grading Rubric:
The following grading rubric will be used to determine your grade:
Attribute Exceeds Meets Does not meet
Design (5 points) (5 points)
Exhibits proper use of parameters, and selection of data types all of the time.
Employs correct and appropriate use of programming structures (loops,
(3-4 points)
Exhibits proper use of parameters, and selection of data types most of the time.
Employs correct and appropriate use of programming structures (loops,
(0-2 points)
Rarely exhibits proper use of parameters, and selection of data types.
Rarely employs correct and appropriate use of programming structures (loops, conditionals, classes etc.)
2
conditionals, classes etc.) all of the time.
Efficient algorithms used all of the time.
conditionals, classes etc.) most of the time.
Efficient algorithms used most of the time.
Poorly structured and inefficient algorithms.
Functionality (10 points)
(9-10 points)
Extra effort was apparent through the addition of significant and additional functionality beyond the scope of the assignment.
(7-8 points)
Program fulfills most functionality.
Most requirements were fulfilled.
Screen captures provided demonstrating the successful compiling and running of the program.
(0-6 points)
Program does not fulfill functionality.
Few requirements were fulfilled.
Test cases (5 points) (5 points)
Test cases provide comprehensive coverage of all code paths.
Discussion of run-time errors included.
(3-4 points)
Test cases provide coverage of most code paths.
Test cases results well documented providing pass/fail results for each test case.
(0-2 points)
No or insufficient test cases
Minimal supporting evidence provided to verify testing actually took place.
Java Style Guide (5 points)
(5 points)
Code impeccably neat and well-organized.
Extensive In-line comments providing additional insight into code design and functionality
(3-4 points)
Header comments include filename, author, date and brief purpose of the program.
In-line comments used to describe major functionality of the code.
Meaningful variable names and prompts applied.
(0-2 points)
Code rarely follows recommended Java style guide
3
Class names are written in UpperCamelCase.
Variable names are written in lowerCamelCase.
Constant names are in written in All Capitals.
Braces use K&R style.
Submission requirements:
Your deliverables include your Java files (.java) and a single word document. The Java files should be named appropriately for your applications. Your word document should include screen shots showing the successful compiling and running of each application, and a detailed description of the test plan for each application. The screen shots should document your successful use of the IDE. The test plan should include the input, expected output, actual output and if the test case passed or failed. Submit your files to the Homework 3a assignment area no later than the due date listed in the calendar.