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 Counting Sort
Hướng dẫn Java Design Pattern – Dependency Injection
Java Program to Implement Binary Heap
Introduction to Spring Cloud OpenFeign
Spring Data Java 8 Support
The Dining Philosophers Problem in Java
Java Program to Implement Lloyd’s Algorithm
New Features in Java 9
Converting Between an Array and a Set in Java
Removing all Nulls from a List in Java
Java Program to Generate All Possible Combinations Out of a, b, c, d, e
Receive email using IMAP
Java Program to Check the Connectivity of Graph Using BFS
Java Program to Implement AVL Tree
Immutable ArrayList in Java
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Tìm hiểu về Web Service
Filtering a Stream of Optionals in Java
Spring AMQP in Reactive Applications
Hướng dẫn Java Design Pattern – Null Object
Java Program to Implement Dijkstra’s Algorithm using Priority Queue
Marker Interface trong Java
Converting String to Stream of chars
Dynamic Proxies in Java
Model, ModelMap, and ModelAndView in Spring MVC
Java Program to Implement Find all Forward Edges in a Graph
Sử dụng Fork/Join Framework với ForkJoinPool trong Java
Introduction to Spring Data JDBC
Most commonly used String methods in Java
Java Program to Implement Hash Tables with Quadratic Probing
Bootstrap a Web Application with Spring 5
Java Program to Optimize Wire Length in Electrical Circuit