summaryrefslogtreecommitdiff
path: root/src/Q6/Triangle.java
blob: 5c3b725a8ce5872502a2a7eadb77dcb836cedb17 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/**
 * Assignment 1, COMP268 Class: Triangle.java
 *
 * @description Represents a Triangle
 * @author: mo khan Student ID: 3431709
 * @date May 8, 2019
 * @version 1.0
 */
package Q6;

public class Triangle {
  public static double NULL = 0.0;
  private double a, b, c;

  /**
   * Constructs a Triangle
   *
   * @param a the length of side A
   * @param b the length of side B
   * @param c the length of side C
   */
  public Triangle(double a, double b, double c) {
    this.a = a;
    this.b = b;
    this.c = c;
  }

  /** @return the length of side A */
  public double getA() {
    return this.a;
  }

  /** @return the length of side B */
  public double getB() {
    if (this.b == NULL) this.b = Math.sqrt(Math.pow(this.getC(), 2) - Math.pow(this.getA(), 2));
    return this.b;
  }

  /** @return the length of side C */
  public double getC() {
    return this.c;
  }

  /**
   * Determines if the triangle is a right angle triangle.
   *
   * @return boolean to indicate if the triangle is a right angle triangle
   */
  public boolean isRightTriangle() {
    return Math.pow(this.getA(), 2) + Math.pow(this.getB(), 2) == Math.pow(this.getC(), 2);
  }

  /** @return a string with the length of each side */
  @Override
  public String toString() {
    return String.format("A: %f, B: %f, C: %f", this.getA(), this.getB(), this.getC());
  }

  public static void main(String[] args) {
    System.out.print(new Triangle(48, Triangle.NULL, 80).toString());
    System.out.print(new Triangle(84, Triangle.NULL, 91).toString());

    System.out.print(new Triangle(45, 55, 75).isRightTriangle());
    System.out.print(new Triangle(28, 45, 53).isRightTriangle());
  }
}