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

Validación de acceso y nivel de permiso

package Desafio10;

import java.util.Scanner;

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

        Scanner scanner = new Scanner(System.in);
        int codigoCorrecto = 2023;
        int permisoValidoMinimo = 1;
        int permisoValidoMaximo = 3;

        System.out.println("Ingrese el código de acceso: ");
        int codigoIngresado = scanner.nextInt();

        System.out.println("Ingrese el nivel de permiso: ");
        int permisoIngresado = scanner.nextInt();

        boolean codigoValido = codigoIngresado == codigoCorrecto;
        boolean permisoValido = permisoIngresado >=permisoValidoMinimo && permisoIngresado <=permisoValidoMaximo;

        if (codigoValido && permisoValido){
            System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
        }else{
            System.out.println("Acceso denegado!");
            if(!codigoValido){
                System.out.println("Motivo: El código de acceso no es correcto");
            }
            if(!permisoValido){
                System.out.println("Motivo: El nivel de permiso solicitado no es correcto");
            }
        }

        scanner.close();

    }
}
1 respuesta
solución!

Hola Eliana,

Tu código parece estar bien estructurado para cumplir con los requisitos del ejercicio. Estás verificando tanto el código de acceso como el nivel de permiso, y proporcionas mensajes adecuados si el acceso es denegado. Aquí hay algunas sugerencias para asegurarte de que el programa funcione como esperas:

  1. Verificación de igualdad: Ya estás usando == para verificar si el codigoIngresado es igual al codigoCorrecto, lo cual es correcto.

  2. Rango de permiso: Estás verificando si permisoIngresado está entre permisoValidoMinimo y permisoValidoMaximo, lo cual es exactamente lo que necesitas para validar los niveles de permiso.

  3. Mensajes de salida: El programa ya está configurado para mostrar mensajes claros dependiendo de si el acceso es permitido o denegado, y proporciona razones específicas cuando el acceso es denegado.

Tu código de ejemplo parece que debería funcionar correctamente siempre que las entradas sean numéricas. Aquí está un ejemplo de cómo debería funcionar:

  • Si ingresas 2023 como código y 2 como nivel de permiso, el programa debe imprimir: "Acceso permitido. ¡Bienvenido al sistema!"
  • Si ingresas un código incorrecto, por ejemplo 1234, el programa debe imprimir: "Acceso denegado! Motivo: El código de acceso no es correcto".
  • Si ingresas un nivel de permiso fuera del rango, por ejemplo 5, el programa debe imprimir: "Acceso denegado! Motivo: El nivel de permiso solicitado no es correcto".

Espero que esta explicación te ayude a entender que tu solución está bien encaminada. ¡Sigue adelante!

Espero haber ayudado y buenos estudios!