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 – Reader to InputStream
Tránh lỗi NullPointerException trong Java như thế nào?
ExecutorService – Waiting for Threads to Finish
Java Program to Perform Partial Key Search in a K-D Tree
OAuth2.0 and Dynamic Client Registration
Guava CharMatcher
Java Scanner hasNext() vs. hasNextLine()
Finding the Differences Between Two Lists in Java
Java Program to Implement Treap
Object cloning trong java
Java Program to Implement Hash Tables Chaining with Binary Trees
Java Program to Construct an Expression Tree for an Prefix Expression
Java Program to Check whether Graph is a Bipartite using DFS
Spring’s RequestBody and ResponseBody Annotations
Giới thiệu Java 8
Java Program to Implement Rolling Hash
Java – Write to File
Java Program to Implement Quick sort
Marker Interface trong Java
Removing Elements from Java Collections
Java Byte Array to InputStream
Hướng dẫn tạo và sử dụng ThreadPool trong Java
New Features in Java 12
Validate email address exists or not by Java Code
Java – File to Reader
Chuyển đổi từ HashMap sang ArrayList
Setting a Request Timeout for a Spring REST API
Cài đặt và sử dụng Swagger UI
Spring Boot - Zuul Proxy Server and Routing
Copy a List to Another List in Java
Lớp Collections trong Java (Collections Utility Class)
Fixing 401s with CORS Preflights and Spring Security