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 Program to Use Boruvka’s Algorithm to Find the Minimum Spanning Tree
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement Strassen Algorithm
How to Use if/else Logic in Java 8 Streams
Java – Byte Array to Reader
Introduction to Liquibase Rollback
Convert String to Byte Array and Reverse in Java
Guide to the Java Clock Class
Introduction to Spring Cloud CLI
An Intro to Spring Cloud Vault
Consumer trong Java 8
Configure a Spring Boot Web Application
Guide to Selenium with JUnit / TestNG
Spring REST with a Zuul Proxy
Rest Web service: Filter và Interceptor với Jersey 2.x (P2)
Java Program to Implement Queue using Linked List
Lớp TreeMap trong Java
XML-Based Injection in Spring
Tìm hiểu cơ chế Lazy Evaluation của Stream trong Java 8
Spring Security Logout
Guide to @JsonFormat in Jackson
A Custom Data Binder in Spring MVC
Hướng dẫn Java Design Pattern – MVC
Spring Boot - Internationalization
Java Program to Give an Implementation of the Traditional Chinese Postman Problem
Exception Handling in Java
Date Time trong Java 8
Java Program to Perform LU Decomposition of any Matrix
Java Program to Implement Rope
Java Program to Find Location of a Point Placed in Three Dimensions Using K-D Trees
So sánh HashMap và Hashtable trong Java
Java Program to Implement Quick Hull Algorithm to Find Convex Hull