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 Perform Inorder Non-Recursive Traversal of a Given Binary Tree
Java Program to Implement Sorted Circular Doubly Linked List
A Guide to LinkedHashMap in Java
Hướng dẫn Java Design Pattern – Memento
How to Add a Single Element to a Stream
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Java Program to Implement Gabow Algorithm
Java Program to Implement Fisher-Yates Algorithm for Array Shuffling
Java 8 Collectors toMap
Logout in an OAuth Secured Application
Spring Boot - Sending Email
Java Program to Perform Preorder Non-Recursive Traversal of a Given Binary Tree
Adding Shutdown Hooks for JVM Applications
Java Program to Implement AA Tree
Java Program to Generate Random Numbers Using Multiply with Carry Method
Quick Intro to Spring Cloud Configuration
Registration with Spring Security – Password Encoding
Java Program to Implement Extended Euclid Algorithm
Mix plain text and HTML content in a mail
Java Program to Find Nearest Neighbor for Static Data Set
Spring WebClient and OAuth2 Support
Spring Cloud AWS – S3
Simplify the DAO with Spring and Java Generics
Practical Java Examples of the Big O Notation
Java Program to Implement Variable length array
Consumer trong Java 8
JWT – Token-based Authentication trong Jersey 2.x
Spring @RequestParam Annotation
Documenting a Spring REST API Using OpenAPI 3.0
Entity To DTO Conversion for a Spring REST API
Spring Security and OpenID Connect
Spring Boot - Admin Client