ATENÇÃO: Essa é apenas uma sugestão de programação. Há inúmeras maneiras de resolver o desafio. Aqui, optei pelo uso de alguns métodos matemáticos presentes no Java que serão explicados após a programação. 

import java.util.Scanner;

public class ClassificacaoTriangulo {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        System.out.print("Digite o lado a: ");
        double ladoA = sc.nextDouble();

        System.out.print("Digite o lado b: ");
        double ladoB = sc.nextDouble();

        System.out.print("Digite o lado c: ");
        double ladoC = sc.nextDouble();

        String classificacao;

        if (ladoA <= 0 || ladoB <= 0 || ladoC <= 0) {
            classificacao = "Triângulo não válido";
        } else if (ladoA + ladoB <= ladoC || ladoA + ladoC <= ladoB || ladoB + ladoC <= ladoA) {
            classificacao = "Triângulo não válido";
        } else {
            if (ladoA == ladoB && ladoB == ladoC) {
                classificacao = "Triângulo Equilátero";
            } else if (ladoA == ladoB || ladoA == ladoC || ladoB == ladoC) {
                classificacao = "Triângulo Isósceles";
            } else if (Math.pow(ladoA, 2) + Math.pow(ladoB, 2) == Math.pow(ladoC, 2) ||
                     Math.pow(ladoA, 2) + Math.pow(ladoC, 2) == Math.pow(ladoB, 2) ||
                     Math.pow(ladoB, 2) + Math.pow(ladoC, 2) == Math.pow(ladoA, 2)) {
                classificacao = "Triângulo Retângulo";
            } else {
                classificacao = "Triângulo Escaleno";
            }
        }

        System.out.println("Classificação do triângulo: " + classificacao);
    }
}

  • Validação de entrada: Verifica se os valores dos lados fornecidos são válidos (maiores que zero) e se a soma de quaisquer dois lados é menor que o terceiro, descartando triângulos impossíveis.
  • Identificação de tipos de triângulos: A solução utiliza uma série de instruções if aninhadas para identificar corretamente os diferentes tipos de triângulos: equilátero, isósceles, retângulo e escaleno.
  • Uso de operadores matemáticos: O código utiliza o método matemático Math.pow(base, expoente) para verificar se os lados formam um triângulo retângulo usando o Teorema de Pitágoras. Opcionalmente poderia ser utilizado também o método Math.round(), que arredonda qualquer valor para o inteiro mais próximo.
  • Mensagens informativas: Impressão dos tipos de triângulo classificados ou se o triângulo é inválido.
Última atualização: terça-feira, 14 mai. 2024, 10:32