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

Sol.

import java.util.Arrays; import java.util.Scanner;

public class VerificacionCodigoAccesoYNivelPermitido {

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    String accessCode = "2023";
    String[] permissionsCodes = {"1", "2", "3"};

    do {
        System.out.println("Ingrese el codigo del acceso: ");
        String userAccessCode = sc.nextLine();
        System.out.println("Ingrese el nivel de permiso: ");
        String userPermissionLevel = sc.next();

        if (userAccessCode.equals(accessCode) && Arrays.asList(permissionsCodes).contains(userPermissionLevel)) {
            System.out.println("Acceso permitido. !Bienvenido al sistema.¡");
            break;
        } else {
            System.out.println("Acceso denegado. Intente nuevamente.");

        }
    } while (sc.hasNextLine());


}

}

1 respuesta

Hola Michel, espero que estés bien

Parece que ya tienes un buen comienzo con tu código para verificar el código de acceso y el nivel de permiso. Sin embargo, para cumplir completamente con los requisitos de la actividad, necesitas mejorar la parte donde se informa al usuario sobre el motivo del acceso denegado. Actualmente, tu programa solo indica que el acceso fue denegado, pero no proporciona detalles sobre qué fue incorrecto.

Aquí tienes una sugerencia para mejorar tu código:

import java.util.Arrays;
import java.util.Scanner;

public class VerificacionCodigoAccesoYNivelPermitido {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String accessCode = "2023";
        String[] permissionsCodes = {"1", "2", "3"};

        do {
            System.out.println("Ingrese el codigo del acceso: ");
            String userAccessCode = sc.nextLine();
            System.out.println("Ingrese el nivel de permiso: ");
            String userPermissionLevel = sc.next();

            boolean isAccessCodeCorrect = userAccessCode.equals(accessCode);
            boolean isPermissionLevelValid = Arrays.asList(permissionsCodes).contains(userPermissionLevel);

            if (isAccessCodeCorrect && isPermissionLevelValid) {
                System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
                break;
            } else {
                if (!isAccessCodeCorrect && !isPermissionLevelValid) {
                    System.out.println("Acceso denegado. Código de acceso incorrecto y nivel de permiso inválido.");
                } else if (!isAccessCodeCorrect) {
                    System.out.println("Acceso denegado. Código de acceso incorrecto.");
                } else {
                    System.out.println("Acceso denegado. Nivel de permiso inválido.");
                }
            }
        } while (sc.hasNextLine());
    }
}

En este código, he añadido verificaciones adicionales para determinar si el código de acceso o el nivel de permiso son incorrectos, y se proporciona un mensaje específico para cada caso. Esto debería ayudarte a cumplir con los requisitos de la actividad.

Espero haber ayudado y buenos estudios!