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

[Proyecto] Código de Acceso y Nivel de Permiso

import java.util.Scanner;

public class CodigoAcceso {
    public static void main(String[] args) {
        int codigoAcceso;
        int nivelAcceso;
        Scanner entrada = new Scanner(System.in);

        System.out.print("Ingresa tu código de acceso: (númerico 4 dígitos)");
        codigoAcceso = entrada.nextInt();
        System.out.print("Ingresa tu nivel de acceso: (debe ser del 1 al 3)");
        nivelAcceso = entrada.nextInt();
        entrada.close();

        if (codigoAcceso == 2023) {
            if (nivelAcceso == 1 || nivelAcceso == 2 || nivelAcceso == 3) {
                System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
            } else {
                System.out.println("Acceso Denegado. Nivel de acceso incorrecto.");
            }
        } else {
            if (nivelAcceso != 1 && nivelAcceso != 2 && nivelAcceso != 3) {
                System.out.println("Código de acceso y nivel de acceso son incorrectos.");
            } else {
                System.out.println("Acceso Denegado. Código de acceso incorrecto");
            }
        }
    }
}
1 respuesta

Hola Jesús, espero que estés bien

Tu código está casi completo, pero hay un pequeño detalle en la lógica de las condiciones que podrías ajustar para que funcione según lo requerido. El problema está en cómo se evalúa la condición inicial del if.

Actualmente, tu código verifica si el codigoAcceso no es 2023 y si el nivelAcceso no es 1, 2 o 3 al mismo tiempo. Esto significa que solo mostrará "Código de acceso y nivel de acceso son incorrectos" si ambos son incorrectos simultáneamente. Sin embargo, según la descripción de la actividad, deberías verificar cada caso por separado para informar el motivo específico de la denegación.

Aquí tienes una versión ajustada de tu código:

import java.util.Scanner;

public class CodigoAcceso {
    public static void main(String[] args) {
        int codigoAcceso;
        int nivelAcceso;
        Scanner entrada = new Scanner(System.in);

        System.out.print("Ingresa tu código de acceso: (númerico 4 dígitos)");
        codigoAcceso = entrada.nextInt();
        System.out.print("Ingresa tu nivel de acceso: (debe ser del 1 al 3)");
        nivelAcceso = entrada.nextInt();
        entrada.close();

        if (codigoAcceso == 2023) {
            if (nivelAcceso == 1 || nivelAcceso == 2 || nivelAcceso == 3) {
                System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
            } else {
                System.out.println("Acceso Denegado. Nivel de acceso incorrecto.");
            }
        } else {
            if (nivelAcceso != 1 && nivelAcceso != 2 && nivelAcceso != 3) {
                System.out.println("Código de acceso y nivel de acceso son incorrectos.");
            } else {
                System.out.println("Acceso Denegado. Código de acceso incorrecto");
            }
        }
    }
}

Con este ajuste, el programa primero verifica si el codigoAcceso es correcto y luego comprueba el nivelAcceso. Si el código es incorrecto, también verifica si el nivel es incorrecto para proporcionar el mensaje adecuado.

Espero haber ayudado y buenos estudios!