Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Propuesta de solución

import java.util.Scanner;

public class SistemaSeguridad {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("Ingrese el código de acceso: ");
        int codigo = scanner.nextInt();
        
        System.out.print("Ingrese el nivel de permiso: ");
        int nivel = scanner.nextInt();

        boolean codigoCorrecto = (codigo == 2023);
        boolean nivelValido = (nivel == 1 || nivel == 2 || nivel == 3);

        if (codigoCorrecto && nivelValido) {
            System.out.println("Acceso permitido. Bienvenido al sistema!");
        } else {
            System.out.println("Acceso denegado.");
            if (!codigoCorrecto && !nivelValido) {
                System.out.println("Motivo: Código incorrecto y nivel de permiso inválido.");
            } else if (!codigoCorrecto) {
                System.out.println("Motivo: Código incorrecto.");
            } else if (!nivelValido) {
                System.out.println("Motivo: Nivel de permiso inválido.");
            }
        }

        scanner.close();
    }
}
1 respuesta

Hola Roberto, espero que estés bien

Tu propuesta de solución parece estar bien encaminada para cumplir con los requisitos del ejercicio. Has implementado correctamente la lógica para verificar tanto el código de acceso como el nivel de permiso. Aquí tienes un pequeño resumen de lo que hace tu código:

  1. Solicita al usuario que ingrese el código de acceso y el nivel de permiso.
  2. Verifica si el código de acceso es correcto (2023) y si el nivel de permiso es válido (1, 2 o 3).
  3. Si ambas condiciones se cumplen, permite el acceso y muestra un mensaje de bienvenida.
  4. Si alguna de las condiciones no se cumple, deniega el acceso y proporciona un mensaje específico sobre el motivo de la denegación.

Tu código está bien estructurado y debería funcionar correctamente según el ejercicio planteado. Aquí tienes un ejemplo de cómo se comportaría el programa con diferentes entradas:

  • Entrada: Código: 2023, Nivel: 2

    • Salida: "Acceso permitido. Bienvenido al sistema!"
  • Entrada: Código: 2022, Nivel: 4

    • Salida: "Acceso denegado. Motivo: Código incorrecto y nivel de permiso inválido."
  • Entrada: Código: 2023, Nivel: 4

    • Salida: "Acceso denegado. Motivo: Nivel de permiso inválido."
  • Entrada: Código: 2022, Nivel: 1

    • Salida: "Acceso denegado. Motivo: Código incorrecto."

Espero que esto te ayude a validar tu solución. ¡Espero haber ayudado y buenos estudios!