Starting from:
$35

$29

Chapter 5 Lab 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 for our Java class using javadoc

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.

Task #1 void Methods

    1. Copy the file Geometry.java (code listing 5.1) from the Student CD or as directed by your instructor. 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.
    2. Above the main method, but in the Geometry class, 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
        1. Find the area of a circle
        2. Find the area of a rectangle
        3. Find the area of a triangle
        4. Find the circumference of a circle
        5. Find the perimeter of a rectangle
        6. Find the perimeter of a triangle
Enter the number of your choice:
    3. Add a line in the main method that calls the printMenu method as indicated by the comments.



24

©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
    4. 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.

Task #2 Value-Returning Methods

    1. Write a static method called circleArea that takes in the radius of the circle and returns the area using the formula A = π r 2 .

    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.
    3. 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.
    4. Write a static method called circleCircumference that takes in the radius of the circle and returns the circumference using the formula C = 2πr.
    5. 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.
    6. 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.

Task #3 Calling Methods

    1. Add lines in the main method in the GeometryDemo class which will call these methods. The comments indicate where to place the method calls.
    2. Below, write some sample data and hand calculated results for you to test all 6 menu items.










    3. Compile, debug, and run. Test out the program using your sample data.

Task #4 Java Documentation

    1. Write javadoc comments for each of the 7 static methods that you just wrote. They should include
        a. A one line summary of what the method does.
        b. A description of what the program requires to operate and what the result of that operation is.
        c. @param listing and describing each of the parameters in the parameter list (if any).



25

©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
        d. @return describing the information that is returned to the calling statement (if any).
    2. Generate the documentation. Check the method summary and the method details to ensure your comments were put into the Java Documentation correctly.

Code Listing 5.1 (Geometry.java)

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 value returned from the method
char letter;    //the Y or N from the user's decision to exit
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);

//do loop was chose to allow the menu to be displayed first do
{
//call the printMenu method
choice = keyboard.nextInt();

switch (choice)
{
case 1:
System.out.print("Enter the radius of the circle: "); radius = keyboard.nextDouble();
//call the circleArea method and store the result in the value System.out.println("The area of the circle is " + value); break;


26

©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.
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();
//call the rectangleArea method and store the result in the value 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();
//call the triangleArea method and store the result in the value 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();
//call the circumference method and store the result in the value 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();

//call the perimeter method and store the result in the value 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();
//call the perimeter method and store the result in the value System.out.println("The perimeter of the triangle is " + value); break;
default:
System.out.println("You did not enter a valid choice.");
}

//consumes the new line character after the number keyboard.nextLine();



27

©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.

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');
}
}

























































28

©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved.

More products