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 Delay Code Execution in Java
Sử dụng CountDownLatch trong Java
Collect a Java Stream to an Immutable Collection
Java – File to Reader
Hướng dẫn Java Design Pattern – Flyweight
Tính đóng gói (Encapsulation) trong java
Truyền giá trị và tham chiếu trong java
Các nguyên lý thiết kế hướng đối tượng – SOLID
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Dynamic Proxies in Java
Java Program to Implement Sorted Vector
Life Cycle of a Thread in Java
Java Program to Perform Inorder Non-Recursive Traversal of a Given Binary Tree
New Features in Java 10
Java Program to Check whether Graph is a Bipartite using DFS
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Java Program to Implement Strassen Algorithm
Java Program to Implement Interval Tree
Spring Data MongoDB – Indexes, Annotations and Converters
Java Program to Implement Hamiltonian Cycle Algorithm
The XOR Operator in Java
RestTemplate Post Request with JSON
Java Program to Find a Good Feedback Vertex Set
Một số nguyên tắc, định luật trong lập trình
Java Program to Perform Searching Based on Locality of Reference
Java Program to Find Number of Articulation points in a Graph
Netflix Archaius with Various Database Configurations
So sánh ArrayList và Vector trong Java
Getting Started with Forms in Spring MVC
Java Program to add two large numbers using Linked List
Using Optional with Jackson
Spring Boot - Tomcat Deployment