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 Find Nearest Neighbor for Dynamic Data Set
A Guide to LinkedHashMap in Java
Bootstrap a Web Application with Spring 5
Hướng dẫn Java Design Pattern – Observer
Spring Boot - Hystrix
Spring Cloud Connectors and Heroku
Custom JUnit 4 Test Runners
Hướng dẫn Java Design Pattern – Template Method
Hướng dẫn sử dụng Printing Service trong Java
The Order of Tests in JUnit
Tính kế thừa (Inheritance) trong java
Java Program to Implement Shunting Yard Algorithm
Java Program to Find the Minimum value of Binary Search Tree
Guide to the Volatile Keyword in Java
Spring Boot - Eureka Server
Quick Guide to java.lang.System
Simplify the DAO with Spring and Java Generics
A Quick Guide to Spring Cloud Consul
Java Program to implement Circular Buffer
Spring Cloud AWS – Messaging Support
Java Program to Implement Segment Tree
SOAP Web service: Authentication trong JAX-WS
Sử dụng CyclicBarrier trong Java
Convert char to String in Java
Sử dụng CountDownLatch trong Java
Handle EML file with JavaMail
Java 8 Collectors toMap
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Java Program to Use the Bellman-Ford Algorithm to Find the Shortest Path
Java Program to Implement WeakHashMap API
Java Program to Implement Gale Shapley Algorithm
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS