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:
Spring Boot - Interceptor
How to Use if/else Logic in Java 8 Streams
Custom Error Pages with Spring MVC
Java Program to Solve any Linear Equation in One Variable
The Spring @Controller and @RestController Annotations
How to use the Spring FactoryBean?
Refactoring Design Pattern với tính năng mới trong Java 8
Java Program to Check if a Matrix is Invertible
Java Program to Check Whether an Input Binary Tree is the Sub Tree of the Binary Tree
Java Program to Implement Insertion Sort
Using a List of Values in a JdbcTemplate IN Clause
Using the Not Operator in If Conditions in Java
Mệnh đề if-else trong java
Guide to Escaping Characters in Java RegExps
Java Program to Find Number of Spanning Trees in a Complete Bipartite Graph
Java Program to Implement the Hungarian Algorithm for Bipartite Matching
Java Program to find the maximum subarray sum O(n^2) time(naive method)
Spring MVC and the @ModelAttribute Annotation
New Features in Java 15
Java Program to Perform integer Partition for a Specific Case
Java Program to Implement Disjoint Set Data Structure
Giới thiệu Google Guice – Binding
Java Program to Implement First Fit Decreasing for 1-D Objects and M Bins
Integer Constant Pool trong Java
Spring Boot - Unit Test Cases
Java Program to Find the GCD and LCM of two Numbers
Tạo số và chuỗi ngẫu nhiên trong Java
Java Program to Implement Treap
Java Program to Implement Horner Algorithm
Java Program for Topological Sorting in Graphs
Guide to the Java ArrayList
Spring Data MongoDB – Indexes, Annotations and Converters