lab 3 Cylinder and date Program Solution

In this lab you will create two programs that use classes and methods.
Deliverables
Program files for each of the following two programs
1. Cylinder
2. Date
At the beginning of ALL your programs, put a comment box that includes the program name, your name, and a brief description of the program.
Example:
/***********************************************************************
Program Name: ProgramName.java
Programmer's Name: Student Name
Program Description: Describe here what this program will do
***********************************************************************/
How to submit your assignment:
1. The programs MUST have the same names as the assignment title.
2. Each Java source file (*.java) must include a corresponding class file (*.class) program as evidence of success.
3. In addition to the program source code files and byte code files, put all your program source code files and screen shots of your program output files into a Word document.
4. You must use a zipped folder to send your weekly assignment to the Dropbox. Do not send subfolders within your zipped folder. Place ALL of the .java and .class files for the week into the one zipped folder. The zip folder should be named: CIS355A_YourLastName_iLab_Week3, and this zip folder will contain all the weekly programming assignments.
iLAB STEPS
STEP 1: Cylinder (20 points)
Back to Top
Create a class called Cylinder.java that contains two double-precision instance variables named radius and height. The class should include a constructor that initializes the radius and height variables. Also, you need a class method named volume() that returns the volume of a Cylinder object. The volume of a cylinder is given by its radius squared times its height times Pi (radius * radius * height * Math.PI). You can either use the value 3.1416 for Pi or use the Java provided value named Math.PI.
Write a class called CylinderTest.java and declare an array of three Cylinder objects to call the methods you declared in the Cylinder class. Make sure that all class methods are called from main(). Have main() display the value returned by volume() and verify the returned value by hand calculations (paper/pencil). Prompt the user to enter the values for the radius and height of each Cylinder object in the array.
Grading Rubric
Cylinder Points Description
Standard header included 1 Must contain program's name, student name, and description of the program
Program compiles 2 Program does not have any error
Program executes 2 Program runs without any error
Created Cylinder class 3 Program contains the Cylinder class
Constructor created that initializes variables 2 A constructor method exists in the Cylinder class and initializes radius and height
Contains a volume method 2 The volume method exists in the Cylinder class and it returns the volume of a Cylinder object
CylinderTest class, which drives the application, is created 4 A driver class with the main method
Correct output is displayed 4 Program displays the radius, height, and volume of three Cylinder objects
Subtotal 20

STEP 2: Date (20 points)
Back to Top
Create a program called Date.java to perform error-checking on the initial values, for instance: fields month, day, and year. Also, provide a method nextDay() to increment the day by one. The Date object should always remain in a consistent state.
Write a program called DateTest.java that prompts the user to enter the month, day, and year as numeric values. This program then creates a Date object using the Date class you just created and tests the nextDay() method. This can be done in a loop of 40 iterations: the Date object calls the nextDay() method and prints the date during each iteration of the loop. This loop is to illustrate that the nextDay() method works correctly. Test the following cases:
a. Incrementing into the next month, for example, use date: 02/28/2011
b. Incrementing into the next year, for example, use date: 11/27/2011
c. Incrementing into the next month in a leap year, for example, use date: 02/28/2012
Sample Program Output:
Checking increment
Date object constructor for date 11/27/2011
Incremented Date:11/28/2011
Incremented Date:11/29/2011
Incremented Date:11/30/2011
Day 31 invalid. Set to day 1.
Incremented Date:12/1/2011
Incremented Date:12/2/2011
...
Incremented Date:12/30/2011
Incremented Date:12/31/2011
Day 32 invalid. Set to day 1.
Incremented Date:1/1/2012
Incremented Date:1/2/2012
Incremented Date:1/3/2012
Incremented Date:1/4/2012
Incremented Date:1/5/2012
Incremented Date:1/6/2012
Grading Rubric
Date Points Description
Standard header included 1 Must contain program’s name, student name, and description of the program
Program compiles 2 Program does not have any error
Program executes 2 Program runs without any error
Created Date class 6 Date class has nextDay method and does not use any other predefined Java class for date
DateTest class, which drives the application, is created 4 User enters the values for month, day, and year in a numeric format and test the nextDay method
Correct output is displayed 5 The correct date increment is displayed
Subtotal 20

Powered by