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:
Comparing Objects in Java
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Immutable ArrayList in Java
Java Program to Implement ScapeGoat Tree
Java Program to Implement Floyd Cycle Algorithm
String Joiner trong Java 8
Set Interface trong Java
Limiting Query Results with JPA and Spring Data JPA
Convert Hex to ASCII in Java
Registration – Activate a New Account by Email
Java Program to Implement Unrolled Linked List
Java Program to Perform Partition of an Integer in All Possible Ways
Removing all duplicates from a List in Java
Loại bỏ các phần tử trùng trong một ArrayList như thế nào trong Java 8?
Java Program to Describe the Representation of Graph using Adjacency List
A Guide to Apache Commons Collections CollectionUtils
Java Program to Implement Disjoint Set Data Structure
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Java Program to Represent Graph Using 2D Arrays
Java Program to implement Sparse Vector
Java Program to Perform Sorting Using B-Tree
Changing Annotation Parameters At Runtime
Spring Boot - Logging
Getting Started with GraphQL and Spring Boot
MyBatis with Spring
New Features in Java 12
Spring Boot - Introduction
Java Program to Implement Doubly Linked List
Hướng dẫn sử dụng Lớp FilePermission trong java
Serve Static Resources with Spring
Introduction to Using Thymeleaf in Spring
XML Serialization and Deserialization with Jackson