Recitation R7
- Methods and Data
Spring 2014
CS160: Foundations in Programming
The purpose of this lab is to:
- Introduce you to the basic use of methods.
- Get experience with defining and implementing methods.
- Show how static methods and data are accessed.
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 R7, and a new class called R7.
- You should have a main method, for now don't put any code in it.
- Create a variable called
PI
with the following format:
- It is defined outside of the main method, in the class.
- It is public, so "anyone" can access it.
- It is static, which means that it doesn't need an object to be accessed.
- It is
final
, which means that it cannot be changed after it is initialized.
- It is a double value with at least 5 decimal places.
- Print the variable
PI
from inside your main
method to show
that it can be accessed.
- Question: Do you need to use the class name to access
PI
, or can you omit it?
- Try to assign a new value to
PI
. Eclipse should give you an error,
this is good.
We dont want people changing the value of PI willy-nilly now do we?
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.
- It has the following conditions:
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 paramater.
- 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 (hint: it's 12.56637061435917)
- 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.
- It has the following conditions:
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.
- It has the following conditions:
Preconditions:
- The parameter is a positive integer.
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.
- It has the following conditions:
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 R7.java program to the TA for grading and submit to RamCT to get credit for this lab.
© 2014 CS160 Colorado State University. All Rights Reserved.