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:
Java – Reader to InputStream
Chuyển đổi từ HashMap sang ArrayList
Java Program to Implement Extended Euclid Algorithm
Lớp Arrarys trong Java (Arrays Utility Class)
Check If a String Is Numeric in Java
Vấn đề Nhà sản xuất (Producer) – Người tiêu dùng (Consumer) và đồng bộ hóa các luồng trong Java
Hướng dẫn Java Design Pattern – Proxy
Java Program to Implement Strassen Algorithm
HttpClient Connection Management
Converting Strings to Enums in Java
Life Cycle of a Thread in Java
Custom Cascading in Spring Data MongoDB
Limiting Query Results with JPA and Spring Data JPA
Java Program to Find Minimum Element in an Array using Linear Search
Java Program to Perform Searching in a 2-Dimension K-D Tree
Mảng (Array) trong Java
Java Convenience Factory Methods for Collections
Spring Boot - Tomcat Deployment
Send an email with an attachment
Chuyển đổi Array sang ArrayList và ngược lại
Convert char to String in Java
Finding Max/Min of a List or Collection
Java Program to Construct an Expression Tree for an Postfix Expression
Java Program to Perform Addition Operation Using Bitwise Operators
Simple Single Sign-On with Spring Security OAuth2
Hướng dẫn Java Design Pattern – Intercepting Filter
Loại bỏ các phần tử trùng trong một ArrayList như thế nào?
DynamoDB in a Spring Boot Application Using Spring Data
A Guide to the ViewResolver in Spring MVC
Find the Registered Spring Security Filters
Jackson – Unmarshall to Collection/Array
Java Program to Find Second Smallest of n Elements with Given Complexity Constraint