Identificando um triângulo

1 resposta
Tato1

Estou fazendo exercício de java, mas não consigo encontrar uma logica para este:
Receba 6 numeros representando medidas a,b,c,d,e,f e relacionar quantos e quais triangulos é possivel formar usando estas medidas.(para formar um triângulo a soma dos lados mais curtos deve ser maior que a medida do lado mais longo) Exemplo de saída [abc], [abd]… Eu consigo fazer a lógica com 3 valores só

System.out.print("Informe a primeira medida: ");
    int a = sc.nextInt();
    System.out.print("Informe a segunda medida: ");
    int b = sc.nextInt();
    System.out.print("Informe a terceira medida: ");
    int c = sc.nextInt();
    System.out.print("Informe a quarta medida: ");
    int d = sc.nextInt();
    System.out.print("Informe a quinta medida: ");
    int e = sc.nextInt();
    System.out.print("Informe a sexta medida: ");
    int f = sc.nextInt();

 if((a+b>c) && (a+c>b) && (b+c>a)){
        if(a == b && a == c){
            System.out.println("Triangulo equilatero.");
        }
        else if((a == b) || (a == c) || (b == c)){
            System.out.println("Triangulo isosceles.");
        }
        else{
            System.out.println("Triangulo escaleno.");
        }
        System.out.println("Medidas usadas: [abc]");
    }
    
    else{
        System.out.println("Nao forma triangulo.");
    }

1 Resposta

TerraSkilll

Crie um método para fazer a verificação. Assim, você não precisa encher seu código de um monte de ifs, basta passar os parâmetros. Algo assim:

private String verifcarSeFormaTriangulo(lado1, lado2, lado3){
	if((lado1+lado2>lado3) && (lado1+lado3>lado2) && (lado2+lado3>lado1)){
		if(lado1 == lado2 && lado1 == lado3){
			return "Triangulo equilatero.";
		}
		else if((lado1 == lado2) || (lado1 == lado3) || (lado2 == lado3)){
			return  "Triangulo isosceles.";
		}
		else{
			return "Triangulo escaleno.";
		}    
	}else{
		return "Nao forma triangulo.";
	}
}

Aí você chama da seguinte forma:

System.out.println("Medidas usadas: [abc] : " + a + " x " + b + " x " + c);
String formaTriangulo = verifcarSeFormaTriangulo(a, b, c);
System.out.println(formaTriangulo);

System.out.println("Medidas usadas: [abd] : " + a + " x " + b + " x " + d);
String formaTriangulo = verifcarSeFormaTriangulo(a, b, d);
System.out.println(formaTriangulo);

System.out.println("Medidas usadas: [abe] : " + a + " x " + b + " x " + e);
String formaTriangulo = verifcarSeFormaTriangulo(a, b, e);
System.out.println(formaTriangulo);

// e assim sucessivamente

Obs: estou supondo que, independente da configuração, você sempre precisa exibir quais as medidas estão sendo testadas. Por isso que coloquei as medidas usadas antes de cada teste de triângulo.

Abraço.

Criado 27 de abril de 2019
Ultima resposta 27 de abr. de 2019
Respostas 1
Participantes 2