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 Implement Double Ended Queue
Exploring the Spring 5 WebFlux URL Matching
Guide to DelayQueue
Spring Boot With H2 Database
Count Occurrences of a Char in a String
HashMap trong Java hoạt động như thế nào?
Entity To DTO Conversion for a Spring REST API
Setting Up Swagger 2 with a Spring REST API
Introduction to Using Thymeleaf in Spring
DistinctBy in the Java Stream API
Java Program to Perform Sorting Using B-Tree
Allow user:password in URL
Custom Thread Pools In Java 8 Parallel Streams
Check If a File or Directory Exists in Java
Spring Boot - Admin Server
Java Program to Implement Sorted Circular Doubly Linked List
Creating a Custom Starter with Spring Boot
Spring Boot - Apache Kafka
Using a Mutex Object in Java
Java Program to Perform Arithmetic Operations on Numbers of Size
CyclicBarrier in Java
Handling URL Encoded Form Data in Spring REST
Hướng dẫn sử dụng Java Reflection
Java Program to Implement PriorityQueue API
The Thread.join() Method in Java
Java Program to Implement Binary Heap
Java Deep Learning Essentials - Yusuke Sugomori
HttpClient with SSL
Spring MVC + Thymeleaf 3.0: New Features
Java String Conversions
Java Program to Solve Tower of Hanoi Problem using Stacks
Java Program to Check Cycle in a Graph using Topological Sort