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:
The Difference Between Collection.stream().forEach() and Collection.forEach()
Guide to Spring Cloud Kubernetes
Java Program to Check whether Directed Graph is Connected using DFS
CharSequence vs. String in Java
New in Spring Security OAuth2 – Verify Claims
OAuth2 for a Spring REST API – Handle the Refresh Token in AngularJS
Java Program to Construct an Expression Tree for an Postfix Expression
Spring Security Remember Me
Model, ModelMap, and ModelAndView in Spring MVC
Java Program to Implement Doubly Linked List
Primitive Type Streams in Java 8
Java Program to subtract two large numbers using Linked Lists
Programmatic Transaction Management in Spring
Uploading MultipartFile with Spring RestTemplate
Java Program to Implement AA Tree
Java Stream Filter with Lambda Expression
Guide to Java Instrumentation
Java Program to Compare Binary and Sequential Search
Spring Data JPA @Query
Spring Boot - Twilio
Java Program to Construct K-D Tree for 2 Dimensional Data
Netflix Archaius with Various Database Configurations
Java Program to Optimize Wire Length in Electrical Circuit
Spring AMQP in Reactive Applications
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Tổng quan về ngôn ngữ lập trình java
How to use the Spring FactoryBean?
Connect through a Proxy
Java Program to Implement RoleList API
RegEx for matching Date Pattern in Java
Deploy a Spring Boot WAR into a Tomcat Server
Mix plain text and HTML content in a mail