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 LinkedBlockingDeque API
New Features in Java 15
Introduction to the Java ArrayDeque
Java – Convert File to InputStream
Guide to the Fork/Join Framework in Java
Java Program to Implement Find all Back Edges in a Graph
How to Replace Many if Statements in Java
A Guide To UDP In Java
Spring Data JPA and Null Parameters
Registration with Spring Security – Password Encoding
Reading an HTTP Response Body as a String in Java
Spring’s RequestBody and ResponseBody Annotations
Spring REST API + OAuth2 + Angular
Java – Create a File
A Guide to EnumMap
New Features in Java 8
Hướng dẫn Java Design Pattern – Abstract Factory
Implementing a Binary Tree in Java
Spring – Injecting Collections
Java Program to Implement Skip List
Extract network card address
Sending Emails with Java
Returning Custom Status Codes from Spring Controllers
CharSequence vs. String in Java
Java Program to Decode a Message Encoded Using Playfair Cipher
Converting a Stack Trace to a String in Java
Call Methods at Runtime Using Java Reflection
A Custom Media Type for a Spring REST API
Registration – Password Strength and Rules
Adding Parameters to HttpClient Requests
Java Program to Implement Euclid GCD Algorithm
Java – Combine Multiple Collections