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

Verificación de código de acceso y nivel de permiso

import java.util.Scanner;

public class VerificadorAcceso {

    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        
        int codigoCorrecto = 2023;
        
        System.out.println("Ingrese el código de acceso:");
        int codigoIngresado = teclado.nextInt();
        
        System.out.println("Ingrese el nivel de permiso (1, 2 o 3):");
        int nivelPermiso = teclado.nextInt();
        
        boolean codigoValido = (codigoIngresado == codigoCorrecto);
        boolean nivelValido = (nivelPermiso >= 1 && nivelPermiso <= 3);
        
        if (codigoValido && nivelValido) {
            System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
        } else if (!codigoValido && !nivelValido) {
            System.out.println("Acceso denegado. Motivo: Código de acceso incorrecto y nivel de permiso inválido.");
        } else if (!codigoValido) {
            System.out.println("Acceso denegado. Motivo: Código de acceso incorrecto.");
        } else {
            System.out.println("Acceso denegado. Motivo: Nivel de permiso inválido.");
        }
        
        teclado.close();
    }
}
1 respuesta

¡Hola Justin!

Tu código para verificar el acceso y el nivel de permiso se ve muy bien estructurado. Permíteme ofrecerte un par de observaciones y consejos:

  1. Validación del Código de Acceso y Nivel de Permiso: Tu lógica para verificar si el código de acceso y el nivel de permiso son válidos es correcta. Estás utilizando operadores lógicos de manera eficaz para determinar las diferentes condiciones de acceso.

  2. Mensajes de Salida: Los mensajes que proporcionas al usuario son claros y específicos, lo cual es excelente para la experiencia del usuario. Esto ayuda a que el usuario entienda exactamente por qué el acceso fue denegado.

  3. Uso del Scanner: Recuerda siempre cerrar el Scanner al final de su uso, lo cual ya estás haciendo correctamente con teclado.close();.

  4. Mejora de la Experiencia del Usuario: Podrías considerar agregar una opción para que el usuario intente ingresar nuevamente el código o el nivel de permiso si no son correctos. Esto podría hacerse utilizando un bucle while que continúe solicitando la entrada hasta que se proporcione información válida.

Aquí tienes un pequeño ejemplo de cómo podrías implementar un bucle para mejorar la interacción:

while (!codigoValido || !nivelValido) {
    if (!codigoValido) {
        System.out.println("Código de acceso incorrecto. Por favor, inténtelo de nuevo:");
        codigoIngresado = teclado.nextInt();
        codigoValido = (codigoIngresado == codigoCorrecto);
    }
    
    if (!nivelValido) {
        System.out.println("Nivel de permiso inválido. Por favor, ingrese un nivel de 1 a 3:");
        nivelPermiso = teclado.nextInt();
        nivelValido = (nivelPermiso >= 1 && nivelPermiso <= 3);
    }
}

System.out.println("Acceso permitido. ¡Bienvenido al sistema!");

Espero que estas sugerencias te sean útiles y te ayuden a mejorar aún más tu programa. ¡Espero haber ayudado y buenos estudios!