Week 3 Ilab cis 355
iLAB OVERVIEW
Scenario and Summary
In this lab you will create two programs that use classes and methods.
Deliverables
Program files for each of the following two programs
- Cylinder
- 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:
- The programs MUST have the same names as the assignment title.
- Each Java source file (*.java) must include a corresponding class file (*.class) program as evidence of success.
- 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.
- 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 TopCreate a class called Cylinder.javathat 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 TopCreate 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:
- Incrementing into the next month, for example, use date: 02/28/2011
- Incrementing into the next year, for example, use date: 11/27/2011
- 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 |
-
Rating:
5/
Solution: Week 3 Ilab cis 355