1
resposta

[Dúvida] Resolução

Tive um pouco de dúvida sobre o meu código, ele esta certo?

/**
 * Marcos está estudando geometria e precisa verificar se três lados podem formar um triângulo.
 * Para que três lados formem um triângulo, a soma de dois lados deve ser maior que o terceiro lado.
 * Ele quer um programa que receba três lados e exiba uma mensagem informando se os lados podem formar
 * um triângulo ou não.
 *
 * Com base nesse cenário, crie um programa que receba três lados e exiba uma mensagem informando se
 * os lados podem formar um triângulo ou não.
 */

package com.github.lucasdevrj.condicionais;

import java.util.Scanner;

public class VerificacaoDeTriangulos {
    public static void main(String[] args) {
        int tamanhoDoPrimeiroLado, tamanhoDoSegundoLado, tamanhoDoTerceiroLado;

        tamanhoDoPrimeiroLado = 0;
        tamanhoDoSegundoLado = 0;
        tamanhoDoTerceiroLado = 0;

        Scanner entrada = new Scanner(System.in);

        System.out.print("Digite o primeiro lado: ");
        tamanhoDoPrimeiroLado = entrada.nextInt();

        System.out.print("Digite o segundo lado: ");
        tamanhoDoSegundoLado = entrada.nextInt();

        System.out.print("Digite o terceiro lado: ");
        tamanhoDoTerceiroLado = entrada.nextInt();

        entrada.close();

        boolean formaUmTriangulo = tamanhoDoPrimeiroLado + tamanhoDoSegundoLado > tamanhoDoTerceiroLado
                && tamanhoDoTerceiroLado + tamanhoDoSegundoLado > tamanhoDoPrimeiroLado
                && tamanhoDoPrimeiroLado + tamanhoDoTerceiroLado > tamanhoDoSegundoLado;

        if (formaUmTriangulo) {
            System.out.println("Os lados podem formar um triângulo.");
        } else {
            System.out.println("Os lados não podem formar um triângulo.");
        }
    }
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii, Lucas!

Meus parabéns por concluir o desafio de verificação de triângulo. Fique tranquilo, seu código está corretíssimo e, inclusive, muito bem estruturado!

A sua abordagem demonstra um excelente domínio sobre a lógica de operadores booleanos. Ao extrair a condição matemática para uma variável boolean formaUmTriangulo, você tornou o código muito mais legível. Essa é uma prática recomendada em desenvolvimento de software, pois o if fica limpo e o nome da variável já explica o que aquela regra de negócio está validando.

Pontos positivos na sua implementação:

  • Extrair a lógica complexa para uma variável booleana facilita a manutenção e o entendimento do fluxo por outros desenvolvedores.
  • Você implementou corretamente a desigualdade triangular, garantindo que as três combinações possíveis de soma de lados fossem testadas.
  • Inicializar as variáveis e usar nomes descritivos como tamanhoDoPrimeiroLado ajuda a evitar confusões durante o desenvolvimento.

No futuro, você pode explorar o uso de double em vez de int para os lados, permitindo que o usuário verifique triângulos com medidas quebradas, como 3.5 ou 4.2. E, você pode conferir mais sobre operadores lógicos na documentação oficial sobre operadores em Java.

Conseguiu perceber como essa estrutura de boolean que você criou permitiria, por exemplo, classificar se o triângulo é equilátero ou isósceles apenas adicionando novas verificações simples?

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!