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 - Creating Docker Image
Copy a List to Another List in Java
Arrays.asList vs new ArrayList(Arrays.asList())
How to Return 404 with Spring WebFlux
Getting Started with Custom Deserialization in Jackson
Java Program to Check if a Given Binary Tree is an AVL Tree or Not
Spring Boot - Eureka Server
Java Program to Implement Pollard Rho Algorithm
Hướng dẫn sử dụng biểu thức chính quy (Regular Expression) trong Java
Lớp LinkedHashMap trong Java
The Dining Philosophers Problem in Java
Lập trình hướng đối tượng (OOPs) trong java
Write/Read cookies using HTTP and Read a file from the internet
Jackson Exceptions – Problems and Solutions
A Guide to Spring Boot Admin
Introduction to Using FreeMarker in Spring MVC
Using the Map.Entry Java Class
Collection trong java
Java Program to Implement Gaussian Elimination Algorithm
Java Program to Implement Slicker Algorithm that avoids Triangulation to Find Area of a Polygon
Getting the Size of an Iterable in Java
Java Program to Generate Random Numbers Using Multiply with Carry Method
Hướng dẫn Java Design Pattern – Prototype
Thực thi nhiều tác vụ cùng lúc như thế nào trong Java?
New Features in Java 15
Send email with JavaMail
Quick Guide on Loading Initial Data with Spring Boot
Java Program to Check the Connectivity of Graph Using DFS
Consumer trong Java 8
HttpClient Basic Authentication
Spring Boot: Customize Whitelabel Error Page
The Difference Between Collection.stream().forEach() and Collection.forEach()