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:

Life Cycle of a Thread in Java
Java Program to Implement SynchronosQueue API
Java Program to Implement Affine Cipher
Java Program to Find Inverse of a Matrix
A Guide to Apache Commons Collections CollectionUtils
Lập trình mạng với java
Chuyển đổi giữa các kiểu dữ liệu trong Java
Hướng dẫn kết nối cơ sở dữ liệu với Java JDBC
Java Program to Implement Brent Cycle Algorithm
Java Program to Delete a Particular Node in a Tree Without Using Recursion
Handling Errors in Spring WebFlux
A Guide to LinkedHashMap in Java
Java Program to Implement Fibonacci Heap
Java Program to Check if a Point d lies Inside or Outside a Circle Defined by Points a, b, c in a Pl...
Java Program to Implement Sparse Array
Spring Boot - Unit Test Cases
Working With Maps Using Streams
Introduction to the Java ArrayDeque
How to Manually Authenticate User with Spring Security
LinkedList trong java
Programmatic Transaction Management in Spring
Working with Network Interfaces in Java
Most commonly used String methods in Java
Use Liquibase to Safely Evolve Your Database Schema
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Sắp xếp trong Java 8
Java Program to Perform Left Rotation on a Binary Search Tree
Java Program to Implement Fermat Factorization Algorithm
Java Program to Implement Cartesian Tree
Java Program to implement Associate Array
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java Program to Check the Connectivity of Graph Using BFS