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:

Java Program to Generate Random Numbers Using Multiply with Carry Method
Jackson Ignore Properties on Marshalling
Java 8 Streams peek() API
Spring Security OAuth2 – Simple Token Revocation
Java Program to Implement Flood Fill Algorithm
Spring WebClient Requests with Parameters
Introduction to Project Reactor Bus
Servlet 3 Async Support with Spring MVC and Spring Security
Enum trong java
Giới thiệu Java Service Provider Interface (SPI) – Tạo các ứng dụng Java dễ mở rộng
Spring Boot Change Context Path
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Từ khóa throw và throws trong Java
HttpClient Basic Authentication
String Initialization in Java
Java Program to Find Path Between Two Nodes in a Graph
Copy a List to Another List in Java
Custom HTTP Header with the HttpClient
Java Program to Construct an Expression Tree for an Infix Expression
Stack Memory and Heap Space in Java
Spring RestTemplate Error Handling
Spring Boot Tutorial – Bootstrap a Simple Application
Java Program to Generate a Graph for a Given Fixed Degree Sequence
Java – InputStream to Reader
Java Program to Implement Repeated Squaring Algorithm
Java Program to Perform the Sorting Using Counting Sort
Spring Boot Configuration with Jasypt
Hướng dẫn Java Design Pattern – Facade
Giới thiệu Json Web Token (JWT)
Java 8 Stream findFirst() vs. findAny()
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
Java Program to Implement ArrayDeque API