Click here to Skip to main content
Click here to Skip to main content

Area of a Triangle in the Cartesian Coordinate System

, 27 Oct 2012
Rate this:
Please Sign up or sign in to vote.
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.

/* 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)

About the Author

Tharindu Wijeratna

Sri Lanka Sri Lanka
No Biography provided
Follow on   Twitter

Comments and Discussions

 
SuggestionNo need to use Pow or Sqrt [modified] PinmemberAndreas Gieriet27-Oct-12 4:39 
GeneralIt can be done. Pinmemberrhuiden26-Oct-12 11:03 
AnswerRe: It can be done. PinmemberTharindu Wijeratna26-Oct-12 15:41 
ya, you're right. Honestly I didn't cared much about it because there are only 3 iterations. But it's not professional to do like that. Thanx rhuiden.
QuestionKeep it simple, sir PinmemberDaniele Alberto Galliano26-Oct-12 2:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Mobile
Web04 | 2.8.140721.1 | Last Updated 27 Oct 2012
Article Copyright 2012 by Tharindu Wijeratna
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid