Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] Duda sobre operadores lógicos (&& ó ||)

Comparto capturas del código de la solución que realicé:

Captura de código fuente 1

Captura de código fuente 2

Resolví el ejercicio utilizando el operador OR (||) y tras ver la solución planteada por el docente, descubro que utiliza el operador AND (&&). Tras hacer pruebas sobre el código, las salidas son las esperadas. Mi duda es saber si estoy utilizando el operador correcto. ¿Cuál es la diferencia entre usar un operador y el otro?

1 respuesta
solución!

Hola Martín,

Entiendo tu duda sobre el uso de los operadores lógicos. Para verificar si tres lados pueden formar un triángulo, debes asegurarte de que se cumplan las tres condiciones siguientes al mismo tiempo:

  1. ( lado1 + lado2 > lado3 )
  2. ( lado1 + lado3 > lado2 )
  3. ( lado2 + lado3 > lado1 )

Estas condiciones aseguran que la suma de dos lados siempre sea mayor que el tercer lado, lo cual es necesario para formar un triángulo.

En tu código, estás utilizando el operador OR (||), lo cual significa que solo una de estas condiciones necesita ser verdadera para que el método esTriangulo() devuelva verdadero. Sin embargo, para formar un triángulo, todas las condiciones deben ser verdaderas al mismo tiempo, por lo que deberías usar el operador AND (&&) en lugar de OR (||).

Aquí tienes cómo debería verse tu método esTriangulo():

public boolean esTriangulo() {
    return (lado1 + lado2 > lado3) && (lado1 + lado3 > lado2) && (lado2 + lado3 > lado1);
}

Espero que esto aclare tu duda y te ayude a corregir el código. ¡Buenos estudios!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!