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:
Check if a String is a Palindrome in Java
So sánh ArrayList và Vector trong Java
Java Program to Implement Counting Sort
Java – Combine Multiple Collections
Extract links from an HTML page
Java Program to Create a Balanced Binary Tree of the Incoming Data
REST Web service: Basic Authentication trong Jersey 2.x
Custom HTTP Header with the HttpClient
New in Spring Security OAuth2 – Verify Claims
Configure a RestTemplate with RestTemplateBuilder
Lớp Arrarys trong Java (Arrays Utility Class)
Using Spring @ResponseStatus to Set HTTP Status Code
Spring Data JPA and Null Parameters
Java Program to Implement Branch and Bound Method to Perform a Combinatorial Search
Why String is Immutable in Java?
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Java Program to Implement Pagoda
@DynamicUpdate with Spring Data JPA
A Guide to the ResourceBundle
Using Optional with Jackson
Extract network card address
Java Program to Implement Lloyd’s Algorithm
Deploy a Spring Boot WAR into a Tomcat Server
Java Program to Find Inverse of a Matrix
Spring Boot - Runners
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Comparing Dates in Java
Hướng dẫn Java Design Pattern – Decorator
Giới thiệu java.io.tmpdir
Java Program to Perform Search in a BST
Spring Data JPA @Query
Spring Security – security none, filters none, access permitAll