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:
XML Serialization and Deserialization with Jackson
The Difference Between map() and flatMap()
Java Program to Implement Max Heap
Java Program to Implement LinkedHashSet API
Deploy a Spring Boot App to Azure
Spring Boot - Service Components
Introduction to Java Serialization
Hashtable trong java
Life Cycle of a Thread in Java
Java – Write a Reader to File
Java Program to Implement Gauss Jordan Elimination
REST Web service: Upload và Download file với Jersey 2.x
Circular Dependencies in Spring
Java Program to Implement Circular Singly Linked List
Java Program to Implement Variable length array
Comparing Strings in Java
Spring Boot Gradle Plugin
Sử dụng JDBC API thực thi câu lệnh truy vấn dữ liệu
Using the Not Operator in If Conditions in Java
Hướng dẫn Java Design Pattern – Object Pool
Guide to the Synchronized Keyword in Java
How to Use if/else Logic in Java 8 Streams
The StackOverflowError in Java
Java Program to Check whether Graph is Biconnected
Java Program to Implement Best-First Search
Join and Split Arrays and Collections in Java
Spring Boot Application as a Service
Changing Annotation Parameters At Runtime
Luồng Daemon (Daemon Thread) trong Java
Java Program to Implement Leftist Heap
Java Program to Implement Sorted Doubly Linked List
Java Program to Optimize Wire Length in Electrical Circuit