public class Triangulo{
float lado1;
boolean ehEquilatero(){
boolean igualdade12, resultado;
igualdade12 = (lado1==lado2);
boolean igualdade23;
igualdade23 = (lado2==lado3);
if(igualdade12&&igualdade23)
resultado = true;
else
resultado = false;
return resultado;
}
float calculaPerimetro(){
float resultado = lado1+lado2+lado3;
return resultado;
}
float lado2, lado3;
}
Preciso fazer os passos a seguir, mas não estou conseguindo. Qualquer ajuda é bem-vinda. Desde já, agradeço.
Implemente o método ehIgual(Triangulo t)
– Este método compara se o triângulo da classe corrente (o objeto da classe) é igual a t;
– Este método recebe um objeto de Triangulo como argumento (t);
– Este método retorna true se ambos triângulos são iguais e false caso contrário;
diego12
Fevereiro 17, 2017, 2:11pm
#2
if (this == t) {
return true;
}
public boolean ehIgual(Triangulo t)
Os triangulos serão iguais quando possuir todos os lados iguais, uma forma seria comparar os menores lados, os maiores lados e o perimetro:
boolean resultadoMenor = compararMenoresLados(this, t);
boolean resultadoMaior = compararMaioresLados(this, t);
boolean resultadoPerimetro = compararPerimetros(this, t);
// retorna true se tudo for true
return resultadoMenor && resultadoMaior && resultadoPerimetro;
o compararMenoresLados
seria:
public static boolean compararMenoresLados(Triangulo t1, Triangulo t2) {
return t1.obterMenorLado() == t2.obterMenorLado();
}
o obterMenorLado
seria:
public float obterMenorLado() {
float menor = lado1;
if (lado2 < menor) {
menor = lado2;
}
if (lado3 < menor) {
menor = lado3;
}
return menor;
}
juntando tudo ficaria:
public class Triangulo {
float lado1;
boolean ehEquilatero() {
boolean igualdade12, resultado;
igualdade12 = (lado1 == lado2);
boolean igualdade23;
igualdade23 = (lado2 == lado3);
if (igualdade12 && igualdade23)
resultado = true;
else
resultado = false;
return resultado;
}
float calculaPerimetro() {
float resultado = lado1 + lado2 + lado3;
return resultado;
}
float lado2, lado3;
////////////////////////////
public boolean ehIgual(Triangulo t) {
if (this == t) {
return true;
}
boolean resultadoMenor = compararMenoresLados(this, t);
boolean resultadoMaior = compararMaioresLados(this, t);
boolean resultadoPerimetro = compararPerimetros(this, t);
// retorna true se tudo for true
return resultadoMenor && resultadoMaior && resultadoPerimetro;
}
public static boolean compararMenoresLados(Triangulo t1, Triangulo t2) {
return t1.obterMenorLado() == t2.obterMenorLado();
}
public static boolean compararMaioresLados(Triangulo t1, Triangulo t2) {
// fazer
}
public static boolean compararPerimetros(Triangulo t1, Triangulo t2) {
// fazer
}
public float obterMenorLado() {
float menor = lado1;
if (lado2 < menor) {
menor = lado2;
}
if (lado3 < menor) {
menor = lado3;
}
return menor;
}
public float obterMaiorLado() {
// fazer
}
}
1 curtida
Caso queira um código um pouco mais limpo
public class Triangulo {
private float lado1;
private float lado2;
private float lado3;
public boolean ehEquilatero() {
return lado1 == lado2
&& lado2 == lado3;
}
public float calculaPerimetro() {
return lado1 + lado2 + lado3;
}
public boolean ehIgual(Triangulo outro) {
Triangulo este = this;
if (este != outro) {
return este.lado1 == outro.lado1
&& este.lado2 == outro.lado2
&& este.lado3 == outro.lado3;
}
return true;
}
public static boolean compararMenoresLados(Triangulo t1, Triangulo t2) {
return t1.obterMenorLado() == t2.obterMenorLado();
}
public static boolean compararMaioresLados(Triangulo t1, Triangulo t2) {
return t1.obterMaiorLado() == t2.obterMaiorLado();
}
public static boolean compararPerimetros(Triangulo t1, Triangulo t2) {
return t1.calculaPerimetro() == t2.calculaPerimetro();
}
public float obterMenorLado() {
return menor(lado1, menor(lado2, lado3));
}
public float obterMaiorLado() {
return maior(lado1, maior(lado2, lado3));
}
private static float menor(float a, float b) {
return a < b ? a : b;
}
private static float maior(float a, float b) {
return a > b ? a : b;
}
}
1 curtida