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:
Spring Cloud Series – The Gateway Pattern
Luồng Daemon (Daemon Thread) trong Java
New Features in Java 13
Spring Boot - Enabling Swagger2
Java Program to Implement Triply Linked List
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Check Whether an Undirected Graph Contains a Eulerian Path
Check If a File or Directory Exists in Java
Why String is Immutable in Java?
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Giới thiệu Google Guice – Injection, Scope
Hướng dẫn Java Design Pattern – Proxy
Java Program to Perform Right Rotation on a Binary Search Tree
Removing Elements from Java Collections
ExecutorService – Waiting for Threads to Finish
Supplier trong Java 8
Spring JDBC
Hướng dẫn Java Design Pattern – Abstract Factory
Bootstrap a Web Application with Spring 5
Working with Network Interfaces in Java
Convert char to String in Java
Spring Boot - File Handling
Spring Boot - Logging
The XOR Operator in Java
Hướng dẫn Java Design Pattern – Factory Method
Java Program to Find Maximum Element in an Array using Binary Search
Java 8 Stream findFirst() vs. findAny()
Hashtable trong java
Java Program to Implement ConcurrentSkipListMap API
Guide to java.util.concurrent.Locks
Working With Maps Using Streams
Java Program to Implement Unrolled Linked List