Metodo com um objeto como parametro. Ajuda!

22) Crie uma classe chamada triângulo, com atributos para representar os três lados do triângulo. Crie na classe triângulo um método chamado eIgual (lê-se “é igual”). O método eIgual receberá como parâmetro de entrada outro objeto do tipo triângulo e retornará um valor booleano indicando se os dois triângulos são iguais. Lembre-se de considerar que os triângulos podem ser iguais, mas estar em posições diferentes. Exemplos de triângulos iguais:

Agradeço desde já a quem souber resolver essa questão. Obrigado!

1 curtida

O que você já fez?

Na verdade o metodo eIgual(É igual) que a questão pede para criar, ele já existe na API Java, o metodo equals(); Você pode simplesmente chama-lo ao criar os dois objetos Triangulo. De uma forma mais resumida ficaria assim.

public class Triangulo {
private int ladoa;
private int ladob;
private int ladoc;

public void setLadoa(int ladoa) {
this.ladoa = ladoa;
}
public void setLadob(int ladob) {
this.ladob = ladob;
}
public void setLadoc(int ladoc) {
this.ladoc = ladoc;
}
public static void main(String[] args) {
Triangulo triangulo1 = new Triangulo();
triangulo1.setLadoa(12);
triangulo1.setLadob(14);
triangulo1.setLadoc(10);

Triangulo triangulo2 = new Triangulo();
triangulo2.setLadoa(14);
triangulo2.setLadob(10);
triangulo2.setLadoc(15);

if (triangulo1.equals(triangulo2)) {
    System.out.println("Os triangulos são iguais");
} else {
    System.out.println("Os triangulos não sao iguais");
}

}
}

Fiz pouca coisa apensar de estar a muito tempo tentando:

package Questao22;

import java.util.Scanner;
public class Triangulo {
float lado1;
float lado2;
float lado3;
float resultado;
public boolean eIgual(Triangulo triangulo){

}
public static void main(String[] args){
	Scanner entrada = new Scanner(System.in);
	Triangulo t = new Triangulo();
	System.out.println("Informe o primeiro lado do triangulo: ");
	t.lado1 = entrada.nextFloat();
	System.out.println("Informe o segundo lado do triangulo: ");
	t.lado2 = entrada.nextFloat();
	System.out.println("Informe o terceiro lado do triangulo: ");
	t.lado3 = entrada.nextFloat();
	entrada.close();
}

}

Na verdade o metodo eIgual(É igual) que a questão pede para criar, ele já existe na API Java, o metodo equals(); Você pode simplesmente chama-lo ao criar os dois objetos Triangulo. De uma forma mais resumida ficaria assim.

public class Triangulo {
private int ladoa;
private int ladob;
private int ladoc;

public void setLadoa(int ladoa) {
    this.ladoa = ladoa;
}
public void setLadob(int ladob) {
    this.ladob = ladob;
}
public void setLadoc(int ladoc) {
    this.ladoc = ladoc;
}
public static void main(String[] args) {
    Triangulo triangulo1 = new Triangulo();
    triangulo1.setLadoa(12);
    triangulo1.setLadob(14);
    triangulo1.setLadoc(10);
    
    Triangulo triangulo2 = new Triangulo();
    triangulo2.setLadoa(14);
    triangulo2.setLadob(10);
    triangulo2.setLadoc(15);
    
    if (triangulo1.equals(triangulo2)) {
        System.out.println("Os triangulos são iguais");
    } else {
        System.out.println("Os triangulos não sao iguais");
    }
    
}

}

Muito obrigado por me ajudar Jonas! :slight_smile: