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:

Working with Network Interfaces in Java
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Spring Data JPA Delete and Relationships
Guide to Java Instrumentation
Java Program to Implement SimpeBindings API
Simple Single Sign-On with Spring Security OAuth2
Java Program to Implement Pairing Heap
Java Program to Implement Quick Hull Algorithm to Find Convex Hull
REST Web service: Upload và Download file với Jersey 2.x
Dynamic Proxies in Java
Java Program to Implement Hash Tables with Double Hashing
Map Serialization and Deserialization with Jackson
Getting Started with Custom Deserialization in Jackson
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Tránh lỗi ConcurrentModificationException trong Java như thế nào?
Spring Boot - Scheduling
Login For a Spring Web App – Error Handling and Localization
Java – Get Random Item/Element From a List
Java Program to Check whether Directed Graph is Connected using BFS
Biểu thức Lambda trong Java 8 – Lambda Expressions
Model, ModelMap, and ModelAndView in Spring MVC
Tính đóng gói (Encapsulation) trong java
Constructor Injection in Spring with Lombok
Java Program to Implement Floyd Cycle Algorithm
Extract links from an HTML page
Flattening Nested Collections in Java
HttpClient Connection Management
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Encode a Message Using Playfair Cipher
Creating a Generic Array in Java
Hướng dẫn Java Design Pattern – Adapter
Java Program to Implement Booth Algorithm