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:
Dockerizing a Spring Boot Application
Multi Dimensional ArrayList in Java
Removing all Nulls from a List in Java
Java Program to Implement Efficient O(log n) Fibonacci generator
Các nguyên lý thiết kế hướng đối tượng – SOLID
ETL with Spring Cloud Data Flow
Logging in Spring Boot
Hamcrest Collections Cookbook
The Java 8 Stream API Tutorial
Java – Get Random Item/Element From a List
Java Program to Implement Hash Tables chaining with Singly Linked Lists
Redirect to Different Pages after Login with Spring Security
How To Serialize and Deserialize Enums with Jackson
Number Formatting in Java
Using the Map.Entry Java Class
Login For a Spring Web App – Error Handling and Localization
Arrays.asList vs new ArrayList(Arrays.asList())
Ways to Iterate Over a List in Java
Overview of the java.util.concurrent
Hướng dẫn Java Design Pattern – Factory Method
Display Auto-Configuration Report in Spring Boot
Map Serialization and Deserialization with Jackson
Chuyển đổi giữa các kiểu dữ liệu trong Java
Spring WebClient and OAuth2 Support
Hướng dẫn Java Design Pattern – Singleton
Spring Boot: Customize the Jackson ObjectMapper
Tránh lỗi NullPointerException trong Java như thế nào?
Java Program to Implement the String Search Algorithm for Short Text Sizes
Serialize Only Fields that meet a Custom Criteria with Jackson
A Guide to JPA with Spring
Hướng dẫn Java Design Pattern – Abstract Factory
Serve Static Resources with Spring