/**
* William Smolinski
* 11/5/21
* Lab 5 assignment, demonstrates static methods, prompts the user with a menu of options they can
* choose and then performs the operation based on the input they entered
*/
import java.util.Scanner;
public class WFS_Lab5
{
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
printMenu();
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
value = circleArea(radius);
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
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();
// TASK #3 Call the triangleArea method and
// store the result in the value variable
value = triangleArea(base, height);
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 circumference method and
// store the result in the value variable
value = circleCircumference(radius);
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 perimeter method and
// store the result in the value variable
value = rectanglePerimeter(length, width);
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 perimeter method and
// store the result in the value variable
value = trianglePerimeter(side1, side2, side3);
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');
}
/**
* The printMenu method displays the menu of the options the user can choose
*/
// TASK #1 Create the printMenu method here
public static void printMenu()
{
System.out.print("This is a geometry claculator\n" +
"Choose what you would like to calculate\n" +
"1. Find the area of a circle\n" +
"2. Find the area of a rectangle\n" +
"3. Find the area of a triangle\n" +
"4. Find the circumference of a circle\n" +
"5. Find the perimeter of a rectangle\n" +
"6. Find the perimeter of a triangle\n" +
"Enter the number of your choice: ");
}
// TASK #2 Create the value-returning methods here
/**
* circleArea method takes the radius and return the area
* @param radius takes the radius to perform the calculations with
* @return returns the area as a double
*/
public static double circleArea(double radius)
{
return Math.PI * (radius * radius);
}
/**
* rectangleArea method takes the length and width and returns the area
* @param length length of the rectangle
* @param width width of the rectangle
* @return returns the area as a double
*/
public static double rectangleArea(double length, double width)
{
return length * width;
}
/**
* triangleArea method takes the base and height and returns the area
* @param base base of the triangle
* @param height height of the triangle
* @return returns the area as a double
*/
public static double triangleArea(double base, double height)
{
return 0.5 * (base * height);
}
/**
* circleCircumference method takes the radius and returns the circumference
* @param radius radius of the circle
* @return returns the circumference as a double
*/
public static double circleCircumference(double radius)
{
return 2 * (Math.PI * radius);
}
/**
* rectanglePerimeter method takes the length and width and returns the perimeter
* @param length length of the rectangle
* @param width width of the rectangle
* @return returns the perimeter as a double
*/
public static double rectanglePerimeter(double length, double width)
{
return (2 * length) + (2 * width);
}
/**
* trianglePerimeter method takes the 3 side lengths and returns the perimeter
* @param side1 first side of the triangle
* @param side2 second side of the trinagle
* @param side3 third side of the triangle
* @return returns the perimeter as a double
*/
public static double trianglePerimeter(double side1, double side2, double side3)
{
return side1 + side2 + side3;
}
// TASK #4 Write javadoc comments for each method
}