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:
Hashtable trong java
Java Program to Find the Connected Components of an UnDirected Graph
A Guide to Spring Cloud Netflix – Hystrix
Java – Rename or Move a File
Guide to PriorityBlockingQueue in Java
New Features in Java 8
Jackson – Bidirectional Relationships
Java Program to Find kth Smallest Element by the Method of Partitioning the Array
The Java 8 Stream API Tutorial
Spring JDBC
Java Program to Implement Gauss Jordan Elimination
The Registration Process With Spring Security
String Operations with Java Streams
Java Program to Implement PrinterStateReasons API
Removing all duplicates from a List in Java
Spring Boot - Zuul Proxy Server and Routing
Custom Exception trong Java
Cơ chế Upcasting và Downcasting trong java
Composition, Aggregation, and Association in Java
Filtering and Transforming Collections in Guava
Implementing a Runnable vs Extending a Thread
Serve Static Resources with Spring
Send email with SMTPS (eg. Google GMail)
Spring Boot - Creating Docker Image
LinkedHashSet trong java
Java Program to Implement Insertion Sort
Spring 5 Functional Bean Registration
Java Program to Perform Sorting Using B-Tree
Spring Boot - Batch Service
Login For a Spring Web App – Error Handling and Localization
Java Program to Compute Discrete Fourier Transform Using Naive Approach
Java Program to Check Whether Topological Sorting can be Performed in a Graph