Ejercicio 9 – ¿Puedo salir a la calle?

Enunciado

Diseñar un algoritmo qué indiqué si podemos salir a la calle. Para ello se deben evaluar tres factores:

  • 🌧️ Si está lloviendo.
  • 📚 Si hemos terminado nuestras tareas.
  • 🏛️ Si necesitamos ir a la biblioteca.

Las reglas para decidir son las siguientes:

✔ Solo podremos salir si NO llueve y hemos terminado las tareas. ✔ Sin embargo, si necesitamos ir a la biblioteca, podemos salir igualmente, ocurra lo qué ocurra.

El programa debe pedir estos datos al usuario mediante booleanos (true/false) y mostrar si se le permite salir.

Explicación del ejercicio

Se usa una combinación de operadores lógicos:

  • ! para negar (NO llueve → !llueve)
  • && para condiciones qué deben cumplirse ambas
  • || para condiciones alternativas

La condición final qué determina si se puede salir es:

(NO llueve AND tareas hechas) OR ir biblioteca

Solución en Java


import java.util.Scanner;

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

        Scanner sc = new Scanner(System.in);

        System.out.print("¿Está lloviendo? (true/false): ");
        boolean llueve = sc.nextBoolean();

        System.out.print("¿Has terminado tus tareas? (true/false): ");
        boolean tareasHechas = sc.nextBoolean();

        System.out.print("¿Necesitas ir a la biblioteca? (true/false): ");
        boolean irBiblioteca = sc.nextBoolean();

        boolean puedeSalir = (!llueve && tareasHechas) || irBiblioteca;

        System.out.println("¿Puedes salir a la calle? " + puedeSalir);
    }
}
    

Ejemplos de ejecución


¿Está lloviendo? (true/false): true
¿Has terminado tus tareas? (true/false): false
¿Necesitas ir a la biblioteca? (true/false): true
¿Puedes salir a la calle? true
    

¿Está lloviendo? (true/false): false
¿Has terminado tus tareas? (true/false): true
¿Necesitas ir a la biblioteca? (true/false): false
¿Puedes salir a la calle? true
    

¿Está lloviendo? (true/false): true
¿Has terminado tus tareas? (true/false): false
¿Necesitas ir a la biblioteca? (true/false): false
¿Puedes salir a la calle? false