Methods Lab Objectives Be able to write methods Be able to call methods Be able
ID: 3715881 • Letter: M
Question
Methods
Lab Objectives
Be able to write methods
Be able to call methods
Be able to write javadoc comments
Be able to create HTML documentation using the javadoc utility
Introduction
Methods are commonly used to break a problem down into small manageable pieces. A large task can be broken down into smaller tasks (methods) that contain the details of how to complete that small task. The larger problem is then solved by implementing the smaller tasks (calling the methods) in the correct order.
This also allows for efficiencies, since the method can be called as many times as needed without rewriting the code each time.
Finally, we will use documentation comments for each method, and generate HTML documents similar to the Java APIs that we have seen.
Score
Section
10
Task #1
30
Task #2
30
Task #3
30
Task #4
100
Total Points
Task #1 void Methods
Points
Grading Scheme
2
Does the code compile and run? (No syntax errors)
6
Requested modification correct
2
Is the input/output correct? (Correct data output/Format correctly)
Paste a copy of your screenshot of your output
Load the file Geometry.java from the “CIS260 Ch05 Student Files” folder into NetBeans.
This program will compile, but, when you run it, it doesn’t appear to do anything except wait. That is because it is waiting for user input, but the user doesn’t have the menu to choose from yet. We will need to create this.
Below the main method, but in the Geometry class-under “// TASK #1 Create the printMenu method here”, create a static method called printMenu that has no parameter list and does not return a value. It will simply print out instructions for the user with a menu of options for the user to choose from. The menu should appear to the user as:
This is a geometry calculator
Choose what you would like to calculate
Find the area of a circle
Find the area of a rectangle
Find the area of a triangle
Find the circumference of a circle
Find the perimeter of a rectangle
Find the perimeter of a triangle
Enter the number of your choice:
Add a line in the main method that calls the printMenu method as indicated by the comments.
Compile, debug, and run. You should be able to choose any option, but you will always get 0 for the answer. We will fix this in the next task.
Take a screenshot of the output and paste it here.
Paste the screenshot of your results here!
Task #2 Value-Returning Methods
Points
Grading Scheme
30
Requested modification correct
Copy these methods below
Write a static method called circleArea that takes in the radius of the circle and returns the area using the formula A = ? r 2.
Write a static method called rectangleArea that takes in the length and width of the rectangle and returns the area using the formula A = lw.
Write a static method called triangleArea that takes in the base and height of the triangle and returns the area using the formula A = ½bh.
Write a static method called circleCircumference that takes in the radius of the circle and returns the circumference using the formula C = 2?r.
Write a static method called rectanglePerimeter that takes in the length and the width of the rectangle and returns the perimeter of the rectangle using the formula P = 2l +2w.
Write a static method called trianglePerimeter that takes in the lengths of the three sides of the triangle and returns the perimeter of the triangle which is calculated by adding up the three sides.
Paste the copy of your methods here!
Task #3 Calling Methods
Points
Grading Scheme
18
Requested modification correct and Results corrected
12
Hand calculated Values correct
Fill in the table
Add lines in the main method in the GeometryDemo class which will call these methods. The comments indicate where to place the method calls.
Below, use the sample data (Input Values) and hand calculated the results to test all 6 menu items.
Compile, debug, and run. Test out the program using your sample data. Paste the results here.
Function Name
Input Values
Hand Calculated Results
Program Results
circleArea
radius = 5
rectangleArea
length = 4
width = 6.5
triangleArea
height = 4
base = 3
circleCircumference
radius = 5
rectanglePerimeter
length = 4
width = 6.5
trianglePerimeter
side1 = 3
side2 = 4
side3 = 5
Task #4 Java Documentation
Points
Grading Scheme
30
Requested Documentation is correct
Compress Project folder and submit for grading
Write javadoc comments for each of the 7 static methods you just wrote. They should include:
A one line summary of what the method does.
A description of what the program requires to operate and what the result of that operation is.
@param listing and describing each of the parameters in the parameter list (if any).
@return describing the information that is returned to the calling statement (if any).
For example:
/**
* Function circleArea -- calculates the area of a circle
* area = PI * r * r
* @param r holds the value of the radius of the circle
* @return the (double) area of the circle
*/
Paste a copy of your source code here.
Source Code
import java.util.Scanner;
/**
This program demonstrates static methods
*/
public class Geometry
{
public static void main(String[] args)
{
int choice; // The user's choice
double value = 0; // The method's return value
char letter; // The user's Y or N decision
double radius; // The radius of the circle
double length; // The length of the rectangle
double width; // The width of the rectangle
double height; // The height of the triangle
double base; // The base of the triangle
double side1; // The first side of the triangle
double side2; // The second side of the triangle
double side3; // The third side of the triangle
// Create a scanner object to read from the keyboard
Scanner keyboard = new Scanner(System.in);
// The do loop allows the menu to be displayed first
do
{
// TASK #1 Call the printMenu method
choice = keyboard.nextInt();
switch(choice)
{
case 1:
System.out.print("Enter the radius of " +
"the circle: ");
radius = keyboard.nextDouble();
// TASK #3 Call the circleArea method and
// store the result in the value variable
System.out.println("The area of the " +
"circle is " + value);
break;
case 2:
System.out.print("Enter the length of " +
"the rectangle: ");
length = keyboard.nextDouble();
System.out.print("Enter the width of " +
"the rectangle: ");
width = keyboard.nextDouble();
// TASK #3 Call the rectangleArea method and
// store the result in the value variable
System.out.println("The area of the " +
"rectangle is " + value);
break;
case 3:
System.out.print("Enter the height of " +
"the triangle: ");
height = keyboard.nextDouble();
System.out.print("Enter the base of " +
"the triangle: ");
base = keyboard.nextDouble();
// TASK #3 Call the triangleArea method and
// store the result in the value variable
System.out.println("The area of the " +
"triangle is " + value);
break;
case 4:
System.out.print("Enter the radius of " +
"the circle: ");
radius = keyboard.nextDouble();
// TASK #3 Call the circleCircumference method and
// store the result in the value variable
System.out.println("The circumference " +
"of the circle is " +
value);
break;
case 5:
System.out.print("Enter the length of " +
"the rectangle: ");
length = keyboard.nextDouble();
System.out.print("Enter the width of " +
"the rectangle: ");
width = keyboard.nextDouble();
// TASK #3 Call the rectanglePerimeter method and
// store the result in the value variable
System.out.println("The perimeter of " +
"the rectangle is " +
value);
break;
case 6:
System.out.print("Enter the length of " +
"side 1 of the " +
"triangle: ");
side1 = keyboard.nextDouble();
System.out.print("Enter the length of " +
"side 2 of the " +
"triangle: ");
side2 = keyboard.nextDouble();
System.out.print("Enter the length of " +
"side 3 of the " +
"triangle: ");
side3 = keyboard.nextDouble();
// TASK #3 Call the trianglePerimeter method and
// store the result in the value variable
System.out.println("The perimeter of " +
"the triangle is " +
value);
break;
default:
System.out.println("You did not enter " +
"a valid choice.");
}
keyboard.nextLine(); // Consume the new line
System.out.println("Do you want to exit " +
"the program (Y/N)?: ");
String answer = keyboard.nextLine();
letter = answer.charAt(0);
} while(letter != 'Y' && letter != 'y');
}
// TASK #1 Create the printMenu method here
// TASK #2 Create the value-returning methods here
// TASK #4 Write javadoc comments for each method
}
Score
Section
10
Task #1
30
Task #2
30
Task #3
30
Task #4
100
Total Points
Explanation / Answer
/**
This program demonstrates static methods.
Methods are implemented in the program.
*/
//Geometry.java
import java.util.Scanner;
public class Geometry
{
public static void main(String[] args)
{
int choice; // The user's choice
double value = 0; // The method's return value
char letter; // The user's Y or N decision
double radius; // The radius of the circle
double length; // The length of the rectangle
double width; // The width of the rectangle
double height; // The height of the triangle
double base; // The base of the triangle
double side1; // The first side of the triangle
double side2; // The second side of the triangle
double side3; // The third side of the triangle
// Create a scanner object to read from the keyboard
Scanner keyboard = new Scanner(System.in);
// The do loop allows the menu to be displayed first
do
{
//calling printMenu method
printMenu();
choice = keyboard.nextInt();
switch(choice)
{
case 1:
System.out.print("Enter the radius of " +
"the circle: ");
radius = keyboard.nextDouble();
//calling circleArea method
value=circleArea(radius);
// store the result in the value variable
System.out.println("The area of the " +
"circle is " + value);
break;
case 2:
System.out.print("Enter the length of " +
"the rectangle: ");
length = keyboard.nextDouble();
System.out.print("Enter the width of " +
"the rectangle: ");
width = keyboard.nextDouble();
//callign rectangleArea
value=rectangleArea(length, width);
System.out.println("The area of the " +
"rectangle is " + value);
break;
case 3:
System.out.print("Enter the height of " +
"the triangle: ");
height = keyboard.nextDouble();
System.out.print("Enter the base of " +
"the triangle: ");
base = keyboard.nextDouble();
value=triangleArea(height, base);
// store the result in the value variable
System.out.println("The area of the " +
"triangle is " + value);
break;
case 4:
System.out.print("Enter the radius of " +
"the circle: ");
radius = keyboard.nextDouble();
//calling circleCircumference method
value=circleCircumference(radius);
// store the result in the value variable
System.out.println("The circumference " +
"of the circle is " +
value);
break;
case 5:
System.out.print("Enter the length of " +
"the rectangle: ");
length = keyboard.nextDouble();
System.out.print("Enter the width of " +
"the rectangle: ");
width = keyboard.nextDouble();
//callign rectanglePerimeter
value=rectanglePerimeter(length, width);
// store the result in the value variable
System.out.println("The perimeter of " +
"the rectangle is " +
value);
break;
case 6:
System.out.print("Enter the length of " +
"side 1 of the " +
"triangle: ");
side1 = keyboard.nextDouble();
System.out.print("Enter the length of " +
"side 2 of the " +
"triangle: ");
side2 = keyboard.nextDouble();
System.out.print("Enter the length of " +
"side 3 of the " +
"triangle: ");
side3 = keyboard.nextDouble();
//calling method trianglePerimeter
value=trianglePerimeter(side1, side2, side3);
// store the result in the value variable
System.out.println("The perimeter of " +
"the triangle is " +
value);
break;
default:
System.out.println("You did not enter " +
"a valid choice.");
}
keyboard.nextLine(); // Consume the new line
System.out.println("Do you want to exit " +
"the program (Y/N)?: ");
String answer = keyboard.nextLine();
letter = answer.charAt(0);
} while(letter != 'Y' && letter != 'y');
}
/*Method to print the user choice of selection*/
public static void printMenu()
{
System.out.println("1.Area of circle ");
System.out.println("2.Area of Rectangle ");
System.out.println("3.Area of Triangle ");
System.out.println("4.Circumference of Circle ");
System.out.println("5.Perimeter of rectangle ");
System.out.println("6.Perimeter of triangle ");
System.out.println("Enter your choice [1 - 6] : ");
}
/*Method to calcualte the area of circle*/
public static double circleArea(double radius)
{
return Math.PI*radius*radius;
}
/*Method to calcualte the area of rectangle*/
public static double rectangleArea(double length,
double width)
{
return length*width;
}
/*Method to calcualte the area of triangel*/
public static double triangleArea(double height ,double base)
{
return 0.5*height*base;
}
/*Method to calcualte the circumference of circle*/
public static double circleCircumference(double radius)
{
return 2*Math.PI*radius;
}
/*Method to calcualte the perimeter of rectangle*/
public static double rectanglePerimeter(double length,
double width)
{
return 2*(length+width);
}
/*Method to calcualte the perimeter of triangle*/
public static double trianglePerimeter(double side1,
double side2,double side3)
{
return side1+side2+side3;
}
}//end of the class
Sample Ouptut:
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
10
You did not enter a valid choice.
Do you want to exit the program (Y/N)?:
N
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
2
Enter the length of the rectangle: 5
Enter the width of the rectangle: 5
The area of the rectangle is 25.0
Do you want to exit the program (Y/N)?:
n
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
3
Enter the height of the triangle: 10
Enter the base of the triangle: 10
The area of the triangle is 50.0
Do you want to exit the program (Y/N)?:
n
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
4
Enter the radius of the circle: 10
The circumference of the circle is 62.83185307179586
Do you want to exit the program (Y/N)?:
n
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
5
Enter the length of the rectangle: 5
Enter the width of the rectangle: 6
The perimeter of the rectangle is 22.0
Do you want to exit the program (Y/N)?:
n
1.Area of circle
2.Area of Rectangle
3.Area of Triangle
4.Circumference of Circle
5.Perimeter of rectangle
6.Perimeter of triangle
Enter your choice [1 - 6] :
6
Enter the length of side 1 of the triangle: 1
Enter the length of side 2 of the triangle: 2
Enter the length of side 3 of the triangle: 3
The perimeter of the triangle is 6.0
Do you want to exit the program (Y/N)?: