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:
How to Count Duplicate Elements in Arraylist
Constructor Injection in Spring with Lombok
A Guide to JPA with Spring
Java Program to Implement LinkedList API
Spring Cloud – Securing Services
A Guide to Java SynchronousQueue
Hướng dẫn Java Design Pattern – MVC
Java Multi-line String
Java – Reader to InputStream
Guava CharMatcher
Concurrent Test Execution in Spring 5
Java Program to Implement Quick Sort Using Randomization
Java Program to Implement CountMinSketch
Java Program to Implement CopyOnWriteArrayList API
Autoboxing và Unboxing trong Java
Servlet 3 Async Support with Spring MVC and Spring Security
How to Get the Last Element of a Stream in Java?
Number Formatting in Java
Java Program to Find Minimum Number of Edges to Cut to make the Graph Disconnected
Spring Boot - Code Structure
Java Program to Perform LU Decomposition of any Matrix
Java Program to Implement Suffix Array
Java Program to Implement wheel Sieve to Generate Prime Numbers Between Given Range
Guide to Selenium with JUnit / TestNG
Hướng dẫn Java Design Pattern – Mediator
Guide to Java OutputStream
Chuyển đổi giữa các kiểu dữ liệu trong Java
Generating Random Numbers in a Range in Java
A Guide to Java HashMap
Java Program to Find the Mode in a Data Set
Spring Data MongoDB Transactions
Flattening Nested Collections in Java