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:

Jackson Date
Hướng dẫn Java Design Pattern – Adapter
Java Program to Construct an Expression Tree for an Infix Expression
How to Delay Code Execution in Java
CharSequence vs. String in Java
Transactions with Spring and JPA
Collection trong java
A Comparison Between Spring and Spring Boot
Luồng Daemon (Daemon Thread) trong Java
Java Program to Implement Sieve Of Atkin
Spring Cloud – Tracing Services with Zipkin
Java Program to Decode a Message Encoded Using Playfair Cipher
What is Thread-Safety and How to Achieve it?
Java Program to Implement Quick Sort Using Randomization
Collect a Java Stream to an Immutable Collection
Converting between an Array and a List in Java
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Spring Security with Maven
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Java Program to Generate Random Hexadecimal Byte
Spring MVC and the @ModelAttribute Annotation
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Spring RestTemplate Request/Response Logging
Convert Time to Milliseconds in Java
Abstract class và Interface trong Java
Java Program to Find SSSP (Single Source Shortest Path) in DAG (Directed Acyclic Graphs)
Hướng dẫn Java Design Pattern – Chain of Responsibility
How to Read HTTP Headers in Spring REST Controllers
Java CyclicBarrier vs CountDownLatch
Binary Numbers in Java
Java Program to Search for an Element in a Binary Search Tree
Java Program to Implement Hash Tables Chaining with List Heads