C Programs Tutorials | IT Developer
IT Developer

Java Programs



Share with a Friend

Operators & Expressions

Java Program: Perimeter and Area of Geometric Shapes (Menu-Driven)

import java.util.Scanner;

 

class GeometricShapes {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int choice;

 

        do {

            System.out.println("\n--- Geometric Shapes Calculator ---");

            System.out.println("1. Rectangle");

            System.out.println("2. Circle");

            System.out.println("3. Triangle");

            System.out.println("4. Exit");

            System.out.print("Enter your choice: ");

            choice = sc.nextInt();

 

            switch (choice) {

                case 1:

                    // Rectangle

                    System.out.print("Enter length: ");

                    double length = sc.nextDouble();

                    System.out.print("Enter width: ");

                    double width = sc.nextDouble();

 

                    double rectPerimeter = 2 * (length + width);

                    double rectArea = length * width;

 

                    System.out.printf("Rectangle Perimeter = %.2f%n", rectPerimeter);

                    System.out.printf("Rectangle Area = %.2f%n", rectArea);

                    break;

 

                case 2:

                    // Circle

                    System.out.print("Enter radius: ");

                    double radius = sc.nextDouble();

 

                    double circlePerimeter = 2 * Math.PI * radius;

                    double circleArea = Math.PI * radius * radius;

 

                    System.out.printf("Circle Perimeter (Circumference) = %.2f%n", circlePerimeter);

                    System.out.printf("Circle Area = %.2f%n", circleArea);

                    break;

 

                case 3:

                    // Triangle

                    System.out.print("Enter side 1: ");

                    double a = sc.nextDouble();

                    System.out.print("Enter side 2: ");

                    double b = sc.nextDouble();

                    System.out.print("Enter side 3: ");

                    double c = sc.nextDouble();

 

                    double triPerimeter = a + b + c;

                    double s = triPerimeter / 2; // semi-perimeter for area

                    double triArea = Math.sqrt(s * (s - a) * (s - b) * (s - c)); // Heron's formula

 

                    System.out.printf("Triangle Perimeter = %.2f%n", triPerimeter);

                    System.out.printf("Triangle Area = %.2f%n", triArea);

                    break;

 

                case 4:

                    System.out.println("Exiting program. Goodbye!");

                    break;

 

                default:

                    System.out.println("Invalid choice! Please select 1-4.");

            }

        } while (choice != 4);

 

        sc.close();

    }

}

Output

 

OUTPUT 1: Rectangle Example
--- Geometric Shapes Calculator ---
1. Rectangle
2. Circle
3. Triangle
4. Exit
Enter your choice: 1
Enter length: 10
Enter width: 5
Rectangle Perimeter = 30.00
Rectangle Area = 50.00

OUTPUT 2: Circle Example
Enter your choice: 2
Enter radius: 7
Circle Perimeter (Circumference) = 43.98
Circle Area = 153.94

OUTPUT 3: Triangle Example
Enter your choice: 3
Enter side 1: 3
Enter side 2: 4
Enter side 3: 5
Triangle Perimeter = 12.00
Triangle Area = 6.00

Explanation

  1. Menu-Driven Program
  • Displays a menu repeatedly using a do-while loop until the user chooses to exit.
  1. Rectangle Calculations
  • Perimeter: 2 × ( length + width) / 2
  • Area: length × width
  1. Circle Calculations
  • Circumference (Perimeter): 2πr2 \pi r2πr
  • Area: πr2
  • Uses Math.PI for accurate value of π.
  1. Triangle Calculations
  • Perimeter: a + b + c
  • Area: Using Heron’s formula:

 Java Perimeter and Area of Geometrical

  1. Input Handling
  • Scanner is used to read numbers dynamically.
  • printf("%.2f") ensures output precision up to 2 decimals.
  1. Loop and Exit
  • do-while ensures the menu repeats until the user chooses option 4 to exit.

Key Concepts Used

Menu-driven program using switch-case and do-while
Arithmetic operations for perimeter and area
Math.PI and Math.sqrt()
Dynamic user input using Scanner
Formatted output using printf()