You are on page 1of 3

# CIS/355 iLab 3 of 6

STEP 1: Cylinder (20 points) 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 Standard header included Program compiles Program executes Created Cylinder class Constructor created that initializes variables Contains a volume method CylinderTest class, which drives the application, is created Correct output is displayed Subtotal Points 1 2 2 3 2 2 4 4 20 Description Must contain program's name, student name, and description of the program Program does not have any error Program runs without any error Program contains the Cylinder class A constructor method exists in the Cylinder class and initializes radius and height The volume method exists in the Cylinder class and it returns the volume of a Cylinder object A driver class with the main method Program displays the radius, height, and volume of three Cylinder objects

STEP 2: Date (20 points)

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: 1. Incrementing into the next month, for example, use date: 02/28/2011 2. Incrementing into the next year, for example, use date: 11/27/2011 3. 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 Standard header included Program compiles Program executes Created Date class DateTest class, which drives the Points 1 2 2 6 4 Description Must contain program’s name, student name, and description of the program Program does not have any error Program runs without any error Date class has nextDay method and does not use any other predefined Java class for date User enters the values for month, day, and year in a

application, is created Correct output is displayed Subtotal 5 20

numeric format and test the nextDay method The correct date increment is displayed