On This Page
Overview
During this assignment, you will:
- Code a definition of a class
- Create instances (objects) of the class
- Use class methods to access and operate on an objects data
^ top
Specifications
Write a class definition for a class named Product. The Product class represents an item you would find in a store and contains three instance variables: a String called name, a double called price and an int called quantity. Within this class, implement all the following methods:
- A no-arg constructor that sets default values for all the instance variables.
- An overloaded constructor that sets all three instance variables to the value of the arguments passed to the parameters.
- One "get" method for each private variable that returns the current value.
- One "set" method for each private variable that sets a new value after appropriate validation.
- Method
getValue() that takes no parameters and returns the price times the quantity.
public double getValue()
- Method
toString() that takes no parameters and returns a String value displaying all the data about the product. For instance, it could return a string with one line of the output like that shown below.
Milk 3.95 40 158.0
- In addition, write a
main() method that tests the class by displaying output like that shown below.
Note that there is no user input for this assignment. Input to the program is hard-coded in main and output is made to the console screen (NOT a JOptionPane) when the program is run. You must display at least three different products. However, you may choose any name, price and quantity for products as long as they are appropriate for a family-oriented store.
Sample Operation
My products:
Name Price Qty Value
Milk 3.95 40 158.0
Bread 2.99 30 89.7
Cheese 4.98 20 99.60000000000001
Additional specifications:
- The name of the file you submit must be:
Product.java.
- Specify all numerical values as constants. Do not use any "magic numbers".
- Make sure that every method has a block comment.
^ top
Extra Credit
The following are worth extra credit points:
- Complete the assignment using pair programming. (1 point)
- Change the
toString() method so that the format of the price and value fields displays dollars and cents with two decimal places. (1 point)
- Change the
toString() method so that the columns are right aligned. (2 points)
Make certain that your README.txt file lists any extra credit attempted.
^ top
Grading Criteria
The instructor will evaluate your assignment using the following criteria. Each criteria represents a specific achievement of your assignment and has a scoring guide. The scoring guide explains the possible scores you can receive.
Some scoring guides have a list of indicators. These indicators are a sign of meeting, or a symptom of not meeting, the specific criterion. Note that a single indicator may not always be reliable or appropriate in a given context. However, as a group, they show the condition of meeting the criterion.
For information on grading policies, including interpretation of scores, see the course information page.
Program Compilation
- 4: Source code compiles with no errors or warnings
- 2: Source code compiles with warnings
- 0: Does not compile or wrong file turned in
Functionality
- 10: Demonstrates mastery of the assignment
- Has extra features or demonstrates techniques beyond the assignment
- Applies concepts from the lesson(s) appropriately
- Meets all specifications (see above) with particularly elegant solutions
- No errors encountered during operation
- 8: Has all the functionality expected of the assignment
- Demonstrates many techniques from the lesson
- Meets all specifications (see above)
- Implementation seems more complicated than necessary.
- May have one minor error
- 6: Has most of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets all but one of the specifications (see above)
- Implementation seems excessively complicated.
- May have 2-3 minor errors
- 4: Has some of the functionality expected of the assignment
- Demonstrates some techniques from the lesson
- Meets at least 1/2 of the specifications (see above)
- Implementation seems excessively complicated.
- May have more than 3 minor errors
- 2: Serious functional problems but shows some effort and understanding
- Meets less than 1/2 of the of the specifications (see above)
- Has a major error or many minor errors
- Implementation seems very convoluted
- Demonstrates few techniques from the lesson
- 0: Does not execute or no specifications met
Code Documentation
- 4: Code is well-documented
- 3: Code has minor documentation errors
- Has 1 documentation error
- 2: Code has some documentation errors
- Has 2-3 documentation errors
- 1: Code has many documentation errors
- Has more than 3 documentation errors
- 0: No apparent attempt to document code
REAME.txt File
- 2: README.txt file submitted with specified information included
- 1: README.txt submitted but some information was not included
- 0: No README.txt submitted
Maximum Score: 20, plus extra credit
^ top
What to Turn In
Submit your assignment following the instructions for homework. Include the following items for grading:
README.txt file
Product.java
You must submit all the files needed to make your assignment function properly. Do not assume that the instructors has any files unless explicitly stated by the instructor. Your assignment must work as submitted.
^ top
Home
| WebCT
| Announcements
| Schedule
| Expectations
| Course info
Help
| FAQ's
| HowTo's
| Links
Last Updated: October 29 2004 @16:42:16
|