-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathTriangulo.java
More file actions
59 lines (45 loc) · 1.88 KB
/
Copy pathTriangulo.java
File metadata and controls
59 lines (45 loc) · 1.88 KB
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
package formageometrica;
import java.util.ArrayList;
public class Triangulo extends Forma {
public Triangulo(ArrayList<Ponto2D> pontos) {
super(pontos);
}
public String tipoTriangulo() {
double[] distancia = new double[3];
distancia[0] = getPontos().get(0).calcularDistancia(getPontos().get(1));
distancia[1] = getPontos().get(0).calcularDistancia(getPontos().get(2));
distancia[2] = getPontos().get(1).calcularDistancia(getPontos().get(2));
if (distancia[0] == distancia[1] && distancia[1] == distancia[2]) {
return "Equilatero";
} else if (distancia[0] != distancia[1] && distancia[1] != distancia[2] && distancia[0] != distancia[2]) {
return "Escaleno";
} else {
return "Isosceles";
}
}
public String getTipo() {
return tipoTriangulo();
}
@Override
public double calcularArea() {
double a = getPontos().get(0).calcularDistancia(getPontos().get(1));
double b = getPontos().get(0).calcularDistancia(getPontos().get(2));
double c = getPontos().get(1).calcularDistancia(getPontos().get(2));
String tipo = tipoTriangulo();
if (tipo.equals("Equilatero")) {
return (a * a * Math.sqrt(3)) / 4;
}
else {
double p = (a + b + c) / 2;
return Math.sqrt(p * (p - a) * (p - b) * (p - c));
}
}
@Override
public double calcularPerimetro() {
double[] distancia = new double[3];
distancia[0] = getPontos().get(0).calcularDistancia(getPontos().get(1));
distancia[1] = getPontos().get(0).calcularDistancia(getPontos().get(2));
distancia[2] = getPontos().get(1).calcularDistancia(getPontos().get(2));
return distancia[0] + distancia[1] + distancia[2];
}
}