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 AWS – RDS
Guide to UUID in Java
Lập trình đa luồng trong Java (Java Multi-threading)
Concatenating Strings In Java
Java Program to Check the Connectivity of Graph Using DFS
String Operations with Java Streams
Java Program to Find the GCD and LCM of two Numbers
Transactions with Spring and JPA
A Guide to BitSet in Java
Java Program to Implement Karatsuba Multiplication Algorithm
Java Program to Implement Rope
Multi Dimensional ArrayList in Java
Java Program to Implement Quick Sort with Given Complexity Constraint
Spring RequestMapping
Database Migrations with Flyway
Guide to BufferedReader
How to Find an Element in a List with Java
Java Program for Topological Sorting in Graphs
Check if a String is a Palindrome in Java
Java – Random Long, Float, Integer and Double
Java Program to Compare Binary and Sequential Search
Spring Boot - Interceptor
Một số ký tự đặc biệt trong Java
Guava Collections Cookbook
Spring Security Remember Me
Marker Interface trong Java
String Joiner trong Java 8
Encode/Decode to/from Base64
Rest Web service: Filter và Interceptor với Jersey 2.x (P1)
Tìm hiểu về Web Service
Jackson Annotation Examples
Abstract class và Interface trong Java