Java Program to Implement Shoelace Algorithm

«
»
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.

  1. /**
  2.  ** Java Program to Implement Shoelace Algorithm
  3.  **/
  4.  
  5. import java.util.Scanner;
  6.  
  7. /** Class Shoelace **/
  8. public class Shoelace
  9. {
  10.     /** Function to calculate area **/
  11.     public double area(int[][] arr)
  12.     {
  13.         int n = arr.length;
  14.         /** copy initial point to last row **/
  15.         arr[n - 1][0] = arr[0][0];
  16.         arr[n - 1][1] = arr[0][1];
  17.  
  18.         double det = 0.0;
  19.         /** add product of x coordinate of ith point with y coordinate of (i + 1)th point **/
  20.         for (int i = 0; i < n - 1; i++)
  21.             det += (double)(arr[i][0] * arr[i + 1][1]);
  22.         /** subtract product of y coordinate of ith point with x coordinate of (i + 1)th point **/
  23.         for (int i = 0; i < n - 1; i++)
  24.             det -= (double)(arr[i][1] * arr[i + 1][0]);
  25.  
  26.         /** find absolute value and divide by 2 **/
  27.         det = Math.abs(det);    
  28.         det /= 2;
  29.         return det;        
  30.     }
  31.     /** Main function **/
  32.     public static void main (String[] args) 
  33.     {
  34.         Scanner scan = new Scanner(System.in);
  35.         System.out.println("Shoelace Algorithm Test\n");
  36.         /** Make an object of Shoelace class **/
  37.         Shoelace s = new Shoelace();
  38.  
  39.         /** Accept number of points **/
  40.         System.out.println("\nEnter number of points");
  41.         int n = scan.nextInt();
  42.  
  43.         int[][] arr = new int[n + 1][2];
  44.  
  45.         System.out.println("Enter "+ n +" x, y coordinates");
  46.         for (int i = 0; i < n; i++)
  47.         {
  48.             arr[i][0] = scan.nextInt();
  49.             arr[i][1] = scan.nextInt();
  50.         }
  51.         double area = s.area(arr);
  52.  
  53.         System.out.println("\nArea = "+ area);
  54.     }
  55. }

advertisement
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

Sanfoundry Global Education & Learning Series – 1000 Java Programs.

advertisement
advertisement
If you wish to look at all Java Programming examples, go to Java Programs.

Participate in the Sanfoundry Certification contest to get free Certificate of Merit. Join our social networks below and stay updated with latest contests, videos, internships and jobs!
advertisement
advertisement
Manish Bhojasia - Founder & CTO at Sanfoundry
Manish Bhojasia, a technology veteran with 20+ years @ Cisco & Wipro, is Founder and CTO at Sanfoundry. He is Linux Kernel Developer & SAN Architect and is passionate about competency developments in these areas. He lives in Bangalore and delivers focused training sessions to IT professionals in Linux Kernel, Linux Debugging, Linux Device Drivers, Linux Networking, Linux Storage, Advanced C Programming, SAN Storage Technologies, SCSI Internals & Storage Protocols such as iSCSI & Fiber Channel. Stay connected with him @ LinkedIn | Youtube | Instagram | Facebook | Twitter