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:
How to Get the Last Element of a Stream in Java?
More Jackson Annotations
Guide to CountDownLatch in Java
Java Program to Implement Solovay Strassen Primality Test Algorithm
Marker Interface trong Java
Java Program to Find Shortest Path Between All Vertices Using Floyd-Warshall’s Algorithm
Serve Static Resources with Spring
Spring Boot - Rest Template
Login For a Spring Web App – Error Handling and Localization
Java Program to Implement Gift Wrapping Algorithm in Two Dimensions
Java Program to Solve the 0-1 Knapsack Problem
Java Program to Implement Treap
Object cloning trong java
Jackson – Change Name of Field
Spring Security Logout
Java Program to Implement Ternary Search Tree
Giới thiệu thư viện Apache Commons Chain
Marker Interface trong Java
Java Program to Implement the String Search Algorithm for Short Text Sizes
Java Program to Implement Hamiltonian Cycle Algorithm
Get the workstation name or IP
Java Program to Implement Multi-Threaded Version of Binary Search Tree
Jackson Date
XML-Based Injection in Spring
Introduction to Spring Method Security
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Hướng dẫn Java Design Pattern – Singleton
A Guide to WatchService in Java NIO2
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Find the Median of two Sorted Arrays using Binary Search Approach
Java 8 Streams peek() API
Xây dựng ứng dụng Client-Server với Socket trong Java