Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

resolvido

import java.util.Scanner;

public class Triangulo {
    public static void main(String[] args) {

        Scanner entrada = new Scanner(System.in);
        System.out.print("Digite o primeiro lado: ");
        int primeiroLado= entrada.nextInt();
        System.out.print("Digite o segundo lado: ");
        int segundoLado= entrada.nextInt();
        System.out.print("Digite o terceiro lado: ");
        int terceiroLado = entrada.nextInt();

        if ((primeiroLado+segundoLado) > terceiroLado){
            System.out.println("Os lados podem formar um triângulo");
        }else if ((primeiroLado+terceiroLado) > segundoLado){
            System.out.println("Os lados podem formar um triângulo");
        } else if ((segundoLado + terceiroLado) > primeiroLado) {
            System.out.println("Os lados podem formar um triângulo");
        }else {
            System.out.println("Os lados não podem formar um triângulo");
        }

        entrada.close();
    }
}
1 resposta

Oi, estudante. Tudo bem com você?

Seu exercício tem uma boa estrutura para trabalhar as condicionais, mas existe um ponto importante na lógica da verificação do triângulo. Para três lados formarem um triângulo, as três condições precisam ser verdadeiras ao mesmo tempo: a soma do primeiro com o segundo deve ser maior que o terceiro, a soma do primeiro com o terceiro deve ser maior que o segundo e a soma do segundo com o terceiro deve ser maior que o primeiro.

No seu código, você utilizou else if, então basta uma dessas condições ser verdadeira para o programa informar que os lados podem formar um triângulo. Por exemplo, considerando os valores 2, 3 e 5, a primeira condição (2 + 3) > 5 é falsa, mas em outros casos uma única condição pode ser verdadeira mesmo que as outras duas não sejam. Para representar a regra completa, o mais adequado seria combinar as três comparações utilizando && em uma única condição. Com 3, 4 e 5, as três comparações são verdadeiras e o resultado será um triângulo.

Como você poderia reorganizar as três comparações para que o programa só informe que os lados formam um triângulo quando todas as condições forem atendidas?

Parabéns por compartilhar sua solução e por buscar praticar as estruturas condicionais. Esse tipo de exercício é ótimo para perceber como os operadores lógicos podem complementar o if. O fórum está à disposição para acompanhar seus próximos exercícios.

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