Java Program to Implement Shoelace Algorithm

This is a Java Program to Implement Shoelace Algorithm. The shoelace formula, or shoelace algorithm, is a mathematical algorithm to determine the area of a simple polygon whose vertices are described by ordered pairs in the plane

Here is the source code of the Java Program to Implement Shoelace Algorithm. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.

/**
 ** Java Program to Implement Shoelace Algorithm
 **/
 
import java.util.Scanner;
 
/** Class Shoelace **/
public class Shoelace
{
    /** Function to calculate area **/
    public double area(int[][] arr)
    {
        int n = arr.length;
        /** copy initial point to last row **/
        arr[n - 1][0] = arr[0][0];
        arr[n - 1][1] = arr[0][1];
 
        double det = 0.0;
        /** add product of x coordinate of ith point with y coordinate of (i + 1)th point **/
        for (int i = 0; i < n - 1; i++)
            det += (double)(arr[i][0] * arr[i + 1][1]);
        /** subtract product of y coordinate of ith point with x coordinate of (i + 1)th point **/
        for (int i = 0; i < n - 1; i++)
            det -= (double)(arr[i][1] * arr[i + 1][0]);
 
        /** find absolute value and divide by 2 **/
        det = Math.abs(det);    
        det /= 2;
        return det;        
    }
    /** Main function **/
    public static void main (String[] args) 
    {
        Scanner scan = new Scanner(System.in);
        System.out.println("Shoelace Algorithm Test\n");
        /** Make an object of Shoelace class **/
        Shoelace s = new Shoelace();
 
        /** Accept number of points **/
        System.out.println("\nEnter number of points");
        int n = scan.nextInt();
 
        int[][] arr = new int[n + 1][2];
 
        System.out.println("Enter "+ n +" x, y coordinates");
        for (int i = 0; i < n; i++)
        {
            arr[i][0] = scan.nextInt();
            arr[i][1] = scan.nextInt();
        }
        double area = s.area(arr);
 
        System.out.println("\nArea = "+ area);
    }
}

Output:

Shoelace Algorithm Test
 
 
Enter number of points
5
Enter 5 x, y coordinates
3 4
5 11
12 8
9 5
5 6
 
Area = 30.0

Related posts:

Guide to Dynamic Tests in Junit 5
Upload and Display Excel Files with Spring MVC
Using the Not Operator in If Conditions in Java
OAuth2.0 and Dynamic Client Registration
Migrating from JUnit 4 to JUnit 5
New Features in Java 11
Java Program for Topological Sorting in Graphs
Java Program to Perform Insertion in a BST
Finding the Differences Between Two Lists in Java
Java Program to Implement Euler Circuit Problem
Consumer trong Java 8
Java Program to Check if a Directed Graph is a Tree or Not Using DFS
Spring Boot Gradle Plugin
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Simplify the DAO with Spring and Java Generics
Inheritance and Composition (Is-a vs Has-a relationship) in Java
Apache Camel with Spring Boot
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to Implement Circular Doubly Linked List
Java Program to Implement Bellman-Ford Algorithm
Java Program to Construct an Expression Tree for an Prefix Expression
Java Program to Implement Extended Euclid Algorithm
Spring Security Registration – Resend Verification Email
Guide to the Volatile Keyword in Java
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Java Program to Implement Ternary Search Tree
How to Define a Spring Boot Filter?
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Spring Data JPA and Null Parameters
Giới thiệu Google Guice – Injection, Scope
Java Program to Compute the Area of a Triangle Using Determinants
Create a Custom Auto-Configuration with Spring Boot