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 Implement PrinterStateReasons API
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Java Program to Create a Random Linear Extension for a DAG
Testing in Spring Boot
Java Program to Implement Multi-Threaded Version of Binary Search Tree
HttpClient Basic Authentication
A Guide to JUnit 5 Extensions
Java Program to Repeatedly Search the Same Text (such as Bible by building a Data Structure)
Java Program to Implement a Binary Search Algorithm for a Specific Search Sequence
Chuyển đổi từ HashMap sang ArrayList
Easy Ways to Write a Java InputStream to an OutputStream
Spring Data JPA @Modifying Annotation
Java Program to Perform Complex Number Multiplication
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Java – Write to File
Java Program to Implement AttributeList API
Hướng dẫn Java Design Pattern – Intercepting Filter
ClassNotFoundException vs NoClassDefFoundError
Java Program to Implement Best-First Search
Lập trình đa luồng với CompletableFuture trong Java 8
A Guide to EnumMap
ETags for REST with Spring
So sánh HashMap và Hashtable trong Java
Java Program to Implement Bloom Filter
Hướng dẫn Java Design Pattern – DAO
Java Program to Implement Adjacency List
Comparing Two HashMaps in Java
Java Program to Implement Unrolled Linked List
Binary Numbers in Java
Hướng dẫn Java Design Pattern – MVC
Java 8 Collectors toMap
Life Cycle of a Thread in Java