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:

Send an email using the SMTP protocol
Removing all duplicates from a List in Java
Hướng dẫn Java Design Pattern – Transfer Object
What is Thread-Safety and How to Achieve it?
Java Program to Implement the Monoalphabetic Cypher
Java Program to Implement JobStateReasons API
Java Program to Implement Bloom Filter
Hướng dẫn sử dụng String Format trong Java
Java Program to Implement Dijkstra’s Algorithm using Set
Giới thiệu Google Guice – Binding
Tips for dealing with HTTP-related problems
Java Program to Implement AA Tree
Introduction to Project Reactor Bus
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Java Program to Implement HashSet API
Java Program to Implement WeakHashMap API
Java Program to Construct an Expression Tree for an Infix Expression
Java Program to Create a Minimal Set of All Edges Whose Addition will Convert it to a Strongly Conne...
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Java – Write to File
Java Program to Check whether Graph is a Bipartite using BFS
How to Remove the Last Character of a String?
Guide to DelayQueue
Java Program to Construct K-D Tree for 2 Dimensional Data
Converting between an Array and a List in Java
REST Web service: Tạo ứng dụng Java RESTful Client với Jersey Client 2.x
Zipping Collections in Java
Java Program to Implement Brent Cycle Algorithm
Java Program to Implement Red Black Tree
Generating Random Dates in Java
A Guide to @RepeatedTest in Junit 5
Java Program to Find the Nearest Neighbor Using K-D Tree Search