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:

Netflix Archaius with Various Database Configurations
Converting Between Byte Arrays and Hexadecimal Strings in Java
Tạo ứng dụng Java RESTful Client với thư viện Retrofit
Quick Guide to Spring Controllers
Java Program to Implement Treap
Introduction to Thread Pools in Java
Java Program to Implement Merge Sort Algorithm on Linked List
Spring WebClient and OAuth2 Support
Immutable ArrayList in Java
Java Program to find the maximum subarray sum using Binary Search approach
Hướng dẫn Java Design Pattern – Proxy
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
Lớp Collectors trong Java 8
Examine the internal DNS cache
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Convert Hex to ASCII in Java
How to Round a Number to N Decimal Places in Java
Hướng dẫn Java Design Pattern – Iterator
Send email with authentication
Hướng dẫn Java Design Pattern – Object Pool
So sánh HashMap và HashSet trong Java
Guide to WeakHashMap in Java
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Spring Boot - Thymeleaf
Serialization và Deserialization trong java
Java Program to Construct an Expression Tree for an Postfix Expression
Cài đặt và sử dụng Swagger UI
Serialize Only Fields that meet a Custom Criteria with Jackson
Java Program to Perform Partition of an Integer in All Possible Ways
Serverless Functions with Spring Cloud Function
Java Program to Implement Unrolled Linked List
Collect a Java Stream to an Immutable Collection