05-14 | Desafio da Classificação dos Triângulos
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
ifaninhadas 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étodoMath.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.