Fórum Dúvida em if-else aninhadoss #623730
14/05/2025
0
Olá, saudações a todos.
Estou comn dificuldade neste código que pretende testar os 3 tipos de triângulo, porém ao rodár o programa, o resultado só mostra a última condição: 'Não forma um triângulo'.
Vocês poderiam me ajudar? Principalmente se puderem me passar links de aulas e exercícios sobre if aninhados ou encadeados.
Obrigado
- - - - - - - - - - - - - -
Estou comn dificuldade neste código que pretende testar os 3 tipos de triângulo, porém ao rodár o programa, o resultado só mostra a última condição: 'Não forma um triângulo'.
Vocês poderiam me ajudar? Principalmente se puderem me passar links de aulas e exercícios sobre if aninhados ou encadeados.
Obrigado
- - - - - - - - - - - - - -
package sandra.puga; import java.util.Scanner; public class Puga_ex61 { public static void main(String[] args) { int a = 0; int b = 0; int c = 0; Scanner scanner = new Scanner(System.in); System.out.println ("Programa que avalia o tipo de triângulo"); System.out.println("medida lado a"); a = scanner.nextInt(); System.out.println("medida lado b"); a = scanner.nextInt(); System.out.println("medida lado c"); a = scanner.nextInt(); if (a != 0 && b != 0 && c != 0){ if (a + b > c && a + c > b && b + c > a){ if (a != b && a != c && b != c){ System.out.println("Triangulo escaleno"); } else { if (a == b && b == c) { System.out.println("Triangulo equilátero"); } else { System.out.println("Triângulo isósceles"); } } } else{ System.out.println("Não forma um triângulo"); } } else{ System.out.println("Não forma um triângulo"); } } }

Job Silva
Curtir tópico
+ 1
Responder
Posts
16/05/2025
Matheus Cotes
Olá Job! O problema do seu código está aqui:
Você está lendo todas as medidas nos mesmos lugares da variável a, ou seja, está sobrescrevendo o valor de a três vezes, e b e c continuam com valor 0.
Você precisa armazenar corretamente cada valor em sua respectiva variável (a, b e c). Veja a correção:
O que eu mudei:
* Corrigi as leituras das variáveis b e c.
* Adicionei scanner.close(); no final para boas práticas.
* Usei else if para evitar verificações desnecessárias.
Espero ter ajudado.
Abraço!
System.out.println("medida lado b"); a = scanner.nextInt(); System.out.println("medida lado c"); a = scanner.nextInt();
Você está lendo todas as medidas nos mesmos lugares da variável a, ou seja, está sobrescrevendo o valor de a três vezes, e b e c continuam com valor 0.
Você precisa armazenar corretamente cada valor em sua respectiva variável (a, b e c). Veja a correção:
package sandra.puga; import java.util.Scanner; public class Puga_ex61 { public static void main(String[] args) { int a, b, c; Scanner scanner = new Scanner(System.in); System.out.println("Programa que avalia o tipo de triângulo"); System.out.println("medida lado a:"); a = scanner.nextInt(); System.out.println("medida lado b:"); b = scanner.nextInt(); System.out.println("medida lado c:"); c = scanner.nextInt(); if (a != 0 && b != 0 && c != 0) { if (a + b > c && a + c > b && b + c > a) { if (a != b && a != c && b != c) { System.out.println("Triângulo escaleno"); } else if (a == b && b == c) { System.out.println("Triângulo equilátero"); } else { System.out.println("Triângulo isósceles"); } } else { System.out.println("Não forma um triângulo"); } } else { System.out.println("Não forma um triângulo"); } scanner.close(); } }
O que eu mudei:
* Corrigi as leituras das variáveis b e c.
* Adicionei scanner.close(); no final para boas práticas.
* Usei else if para evitar verificações desnecessárias.
Espero ter ajudado.
Abraço!
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)