CS 163/164, Spring 2018
Lab 10 - Methods and Parameters
Thursday, Feb. 22nd or
Friday, Feb. 23rd
Objective
The purpose of this lab is to:
- Introduce you to the basic use of methods.
- Get experience with defining and implementing methods.
You are going to write and call four simple methods. The point is not to do anything elaborate,
but to get you accustomed to the way that methods are defined and used.
1. Getting Started
- Create a new project in Eclipse called R10, and a new class called R10.
- You should have a main method, for now don't put any code in it.
- The TA will show you how to create and test the first method below.
- Write the other 3 methods and test them.
- Show the results of the test below to the TA.
2. Write a method to calculate the area of a circle
- Add a new method called circleArea with the following format:
- It is a public method, so "anyone" can call it.
- It is static, which means that it doesn't need an object to be called.
- It returns a double value to the calling function.
- It takes one parameter of type double.
- Preconditions:
- The parameter is the radius of the circle.
- Postconditions:
- The return value is the area of the circle as calculated by PI * radius2
3. Testing the method
Anytime you finish writing a method, you should first test that it works before writing another.
We can test circleArea in main by calling it with any value we choose,
and comparing its return value with a hand calculated value.
- Call circleArea with 2.0 as its parameter.
- Print out the return value of this call in one of two ways:
- Assign the return value to a variable, then print that variable
or
- Make the circleArea call within the print statement
- Do the hand calculation of PI * 2.02
- Check to see if the value printed is the same as, or reasonably close to, the hand calculated value?
- If so, then the method probably‡ works, and you can move on to the next method.
- If not, then something needs to be fixed.
‡This is a fine approach to testing methods, however it is recommended that you try it with
multiple values, to ensure that it works for not just that number, but a range of numbers as well.
4. Write a method to calculate the volume of a sphere
- Add a new method called sphereVolume with the following format:
- It is a public method, so "anyone" can call it.
- It is static, which means that it doesn't need an object to be called.
- It returns a double value to the calling function.
- It takes one parameter of type double.
- Preconditions:
- The parameter is the radius of the sphere.
- Postconditions:
- The return value is the volume of the sphere as calculated by (4.0/3.0) * PI * radius3
- Test sphereVolume in your main method.
5. Write a method to round a value to the nearest integer value
- Add a new method called round with the following format:
- It is a public method, so "anyone" can call it.
- It is static, which means that it doesn't need an object to be called.
- It returns an int value to the calling function.
- It takes one parameter of type double.
- Preconditions:
- The parameter is a positive double.
- Postconditions:
- The return value is the parameter rounded to the nearest integer.
- Use the following technique to round:
Math.floor(value + 0.5)
- Test round in your main method.
6. Write a method to reverse the case of a string
- Add a new method called reverseCase with the following format:
- It is a public method, so "anyone" can call it.
- It is static, which means that it doesn't need an object to be called.
- It returns a String value to the calling function.
- It takes one parameter of type String.
- Precondition:
- The String parameter is not equal to null.
- Postcondition:
- The method returns the same String, but uppercase letters have been made lowercase and vice versa
- Digits and special characters should not be changed
- You may want to use the Character wrapper class, which has methods such as isUpperCase(), isLowerCase(),
toUpperCase(), and toLowerCase().
- You must use a for or while loop to complete this method.
- Test reverseCase in your main method.
Show your R10.java program to the TA for grading.
© 2017 CS163 Colorado State University. All Rights Reserved.