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 Switch Statement
Java Program to Implement the RSA Algorithm
Spring Security Logout
Hướng dẫn Java Design Pattern – Abstract Factory
Using Java Assertions
Transaction Propagation and Isolation in Spring @Transactional
Java Program to Check Whether an Undirected Graph Contains a Eulerian Cycle
Test a REST API with Java
A Guide to the ViewResolver in Spring MVC
ETL with Spring Cloud Data Flow
A Guide to JPA with Spring
Kết hợp Java Reflection và Java Annotations
Java Program to Check if any Graph is Possible to be Constructed for a Given Degree Sequence
Immutable Objects in Java
Java Program to Implement Attribute API
Spring Cloud Series – The Gateway Pattern
Immutable ArrayList in Java
Marker Interface trong Java
Lập trình đa luồng trong Java (Java Multi-threading)
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
New Features in Java 12
Java Program to Perform Cryptography Using Transposition Technique
Exploring the Spring 5 WebFlux URL Matching
Java Program to Describe the Representation of Graph using Adjacency Matrix
Java Program to Implement Naor-Reingold Pseudo Random Function
Spring Boot - Tracing Micro Service Logs
So sánh ArrayList và LinkedList trong Java
Java – InputStream to Reader
Spring Boot - Rest Controller Unit Test
Java Program to Implement Booth Algorithm
Pagination and Sorting using Spring Data JPA
Netflix Archaius with Various Database Configurations