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:
Serialization và Deserialization trong java
Java Program to Implement Double Ended Queue
Giới thiệu Swagger – Công cụ document cho RESTfull APIs
Java Program to Implement Queue
Java Program to Implement Pagoda
Java Program to Implement Bloom Filter
Java Program to Implement Skew Heap
@Before vs @BeforeClass vs @BeforeEach vs @BeforeAll
Java Program to Implement Lloyd’s Algorithm
Java Multi-line String
Database Migrations with Flyway
Java Program to Implement Sorted Vector
Spring Boot - Google OAuth2 Sign-In
Model, ModelMap, and ModelAndView in Spring MVC
Generating Random Dates in Java
Removing all Nulls from a List in Java
Java Program to implement Array Deque
Java Program to Implement Network Flow Problem
Java Program to Implement Hash Tables with Double Hashing
Debug a HttpURLConnection problem
Java Program to Implement the Alexander Bogomolny’s UnOrdered Permutation Algorithm for Elements Fro...
Setting a Request Timeout for a Spring REST API
The DAO with JPA and Spring
What is a POJO Class?
Tính đa hình (Polymorphism) trong Java
Spring Security OAuth2 – Simple Token Revocation
Java Program to Implement K Way Merge Algorithm
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Introduction to Spring Data REST
JUnit 5 @Test Annotation
Array to String Conversions
Guide to Java Instrumentation