Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / Java

Area of a Triangle in the Cartesian Coordinate System

4.50/5 (2 votes)
27 Oct 2012CPOL 22.4K   2  
For absolute beginners in Java

Introduction

This is a simple Java class with a method to calculate the area, given the coordinates of the three nodes of the triangle, and a main method to invoke the calcArea method. 

Background

This is a just a class I've implemented in order to solve a problem in CodeCheff.com [ http://www.codechef.com/problems/NICEQUAD ] 

since the other parts of the program are specific only to that problem, I thought to post this generic part -calculating the area of a triangle in a cartesian coordinate system- in Code Project. This is for absolute beginners to help themselves with:

  • Getting input from the user
  • Working with 2D arrays
  • Using methods in Math class
  • Rounding off a decimal number
  • and anything new according to your level as a programmer...  

Using the code 

Nothing complex here. Just compile and run as usual.

C++
/* Author: @TharieHimself */
import java.util.Scanner;
public class Triangle{
	
	public void calcArea(){
	     Scanner scan = new Scanner(System.in);
	     
	     int[][] coordinates = new int[3][2];
	     double[] sides = new double[3];
	     int count = 0;
	     
	     for(int r=0; r<3; r++)
	     {
	    	 for(int c=0; c<2;c++){
	    		 count++;
	    		 System.out.print("Enter Coordinate "+count+": ");
	    		 coordinates[r][c] = scan.nextInt();
	    	 }
	     }
	     
	     for(int i = 0; i<3; i++)
		{
	     sides[i] = Math.sqrt((Math.pow((coordinates[i][0]- coordinates[(i + 1) % 3][0]), 2)) + Math.pow((coordinates[i][1] - coordinates[(i + 1) % 3][1]), 2));
		}
	     
	     double s = (sides[0]+ sides[1]+ sides[2])/2;
	     double area = Math.sqrt(s*(s-sides[0])*(s-sides[1])*(s-sides[2]));
	     
	     /* THIS WILL ROUND OFF THE AREA TO THREE DECIMAL PLACES */
	     double roundOff = Math.round(area * 1000.0) / 1000.0;
	  	     
	     if(area <= 0)
	    	 System.out.println("\nYour Triangle does not exist!");
	     else
	     System.out.println("\nArea of your Triangle is: "+roundOff);
	     
	}

}

Points of Interest  

A formula for calculating the area of a triangle when all sides are known is attributed to two famous mathematicians; Heron of Alexandria and Archimedes!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)