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.lang.reflect.Array; import java.util.Arrays; import java.util.Scanner;

public class CodigoDeAcceso {

public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    int codigoAcceso = 2023;
    int[] nivelAcceso = {1,2,3};

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

    boolean nivelValido = false;
    for (int nivel : nivelAcceso) {
        if (nivel == ingresoNivel) {
            nivelValido = true;
            break;
        }
    }

    if (codigoAcceso == ingresoCodigo && nivelValido) {
        System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
    } else {
        System.out.println("Acceso denegado. Código o nivel incorrecto.");
    }

    scanner.close();

}

}

1 respuesta

Hola Fredy, espero que estés bien

Tu código está bastante bien encaminado. Sin embargo, según el contexto de la actividad, parece que necesitas proporcionar un mensaje más detallado cuando el acceso es denegado, indicando específicamente si el problema fue con el código de acceso, el nivel de permiso, o ambos.

Aquí tienes una sugerencia de cómo podrías modificar tu código para cumplir con ese requisito:

import java.util.Scanner;

public class CodigoDeAcceso {

    public static void main(String[] args) {

        Scanner scanner = new Scanner(System.in);

        int codigoAcceso = 2023;
        int[] nivelAcceso = {1, 2, 3};

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

        boolean codigoValido = (codigoAcceso == ingresoCodigo);
        boolean nivelValido = false;

        for (int nivel : nivelAcceso) {
            if (nivel == ingresoNivel) {
                nivelValido = true;
                break;
            }
        }

        if (codigoValido && nivelValido) {
            System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
        } else {
            if (!codigoValido && !nivelValido) {
                System.out.println("Acceso denegado. Código y nivel incorrectos.");
            } else if (!codigoValido) {
                System.out.println("Acceso denegado. Código incorrecto.");
            } else {
                System.out.println("Acceso denegado. Nivel incorrecto.");
            }
        }

        scanner.close();
    }
}

Con este ajuste, el programa ahora te informará específicamente si el código de acceso o el nivel de permiso son incorrectos, o si ambos lo son. Espero que esto te ayude a completar la actividad de manera exitosa.

¡Espero haber ayudado y buenos estudios!