Wednesday, September 13, 2023

How to calculate area of triangle in Java Program? Example

Writing a Java program to calculate the area of a triangle is one of the basic programming exercises to develop a coding sense for beginner programmers. Like many mathematical conceptual programs e.g. square root, factorial, or prime number this also serves as a good exercise for beginners. Now, if you remember in maths you might have seen two main ways to calculate the area of a triangle, using vertices and using base and height. In this program, I have created two methods to calculate the area of a triangle using both ways. 

In the first method area(Point a Point b, Point c)  we expect coordinates of three vertices of the triangle and then we calculate the area of the triangle using the formula (Ax(By -Cy) + Bx(Cy -Ay) + Cx(Ay - By))/2, while in the second method, area(int base, int height) we expect the value of base and height and then we calculate are of the triangle using formula (base * height) / 2.



Calculating the area of a triangle using 3 points

In this program, you need to write a method that accepts three points, you can create a Point class to encapsulate both X and Y coordinates and then calculate the area of the triangle using the following formula:

Area of triangle =  (Ax(By -Cy) + Bx(Cy -Ay) + Cx(Ay - By))/2

Here A, B,and C are three vertices of the triangle and x and y represent coordinates. 




Calculating area of a triangle using base and height

This one is easier to remember as you might have used this formula lot many times before. In this part of the program, you write a method that expects two integer values to capture base and height and return a float which is the area of a triangle.

We'll use the following formula:

Area of triangle = (base * height) / 2

Where the base is the length of the base and height is the height of the triangle as shown in the following diagram:

Java Program to calculate area of triangle


Now that you know the formulas to calculate the area of a triangle in Java, we'll see the code which implements these formulas. Remember, you can use these formulas to calculate the area of any type of triangle e.g. right-angle triangle, equilateral triangle, etc. These are generic formulas and work for all types of triangles.



Java Program to calculate the area of a triangle

Here is our complete Java program to find the area of a triangle given base and height or points of three vertices. I have created a Point class to represent a point that has both X and Y coordinates and two overloaded area() methods to calculate the area of a triangle. 

The first area() method expects three parameters, which are points of three vertices and then it return a float value which is the area of a triangle. The second area() method takes base and height and returns a float value which is the area of a triangle.

How to calculate area of triangle in Java - Program




/*
 * Java Program to calculate area of triangle using co-ordinates of vertices
 * or by using base and height. 
 */

public class Main {

  public static void main(String[] args) {
    Point A = new Point(13, 34);
    Point B = new Point(22, 21);
    Point C = new Point(11, 19);
    System.out.println("area of triangle using formula 1: "
        + Triangle.area(A, B, C));
    System.out.println("area of triangle using formula 2: "
        + Triangle.area(3, 5));

  }

}

class Point {
  int x;
  int y;

  public Point(int x, int y) {
    this.x = x;
    this.y = y;
  }

}

class Triangle {

  /**
   * Java method to return area of triangle using vertices as per following
   * formula area = (Ax(By -Cy) + Bx(Cy -Ay) + Cx(Ay - By))/2
   * 
   * @return
   */
  public static float area(Point A, Point B, Point C) {
    float area = (A.x * (B.y - C.y) 
                    + B.x * (C.y - A.y) + C.x * (A.y - B.y)) / 2.0f;
    return Math.abs(area);
  }

  /**
   * 
   * @param base
   * @param height
   * @return
   */
  public static float area(int base, int height) {
    return (base * height) / 2.0f;
  }
}

Output
area of triangle using formula 1: 80.5
area of triangle using formula 2: 7.5


That's all about how to calculate the area of a triangle in Java. This is a good exercise to learn to program along with many others which I have shared below. We have learned both ways to calculate the area of a triangle in the program i.e. using 3 points of vertices as well as by using the base and height formula. 

Other Java Programs you may like to practice

You can further read Concrete Mathematics: A Foundation for Computer Science to learn more about how mathematics plays an important role in Computer Science and programming.

Thanks for reading this article. If you like then please share it with your friends and colleagues. If you have any questions or feedback, please drop a note. If you have any questions or doubt then please let us know and I'll try to find an answer for you. Btw, what is your favorite coding exercise? prime number, palindrome or this one?

2 comments:

  1. Useful tool to create binary trees:
    https://davidpynes.github.io/Tutorials/Trees/Tree_05/

    ReplyDelete

Feel free to comment, ask questions if you have any doubt.