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

Verificador de código de acceso y nivel de permiso.

package condiciones1;

import java.util.Scanner;

public class SistemaSeguridad {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        final int codigoCorrecto = 2023;
        int nivelPermiso;
        int codigoIngresado;

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

        System.out.print("Ingrese el nivel de permiso: ");
        nivelPermiso = scanner.nextInt();

        boolean codigoValido = (codigoIngresado == codigoCorrecto);
        boolean nivelValido = (nivelPermiso == 1 || nivelPermiso == 2 || nivelPermiso == 3);

        if (codigoValido && nivelValido) {
            System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
        } else {
            System.out.print("Acceso denegado. Motivo(s): ");
            if (!codigoValido) {
                System.out.print("Código incorrecto");
                if (!nivelValido) {
                    System.out.print(" y Nivel de permiso inválido");
                }
            } else if (!nivelValido) {
                System.out.print("Nivel de permiso inválido");
            }
            System.out.println(".");
        }

        scanner.close();
    }
}
1 respuesta

Hola Carlos, espero que estés bien

Tu código parece estar bastante bien estructurado para cumplir con los requisitos del ejercicio. Has implementado correctamente la verificación del código de acceso y del nivel de permiso, y también manejas los mensajes de error de manera adecuada.

Aquí tienes un par de sugerencias para asegurarte de que todo funcione sin problemas:

  1. Verificación de entrada: Asegúrate de que el usuario ingrese valores numéricos válidos. Aunque el Scanner está configurado para recibir enteros, podrías considerar agregar una verificación adicional para manejar entradas no numéricas y evitar que el programa falle.

  2. Mensajes de error: Tu lógica para mostrar los mensajes de error es correcta. Sin embargo, podrías considerar simplificar la concatenación de mensajes usando una estructura condicional más clara, pero esto es solo una cuestión de estilo.

Esta modificación asegura que el programa no se bloquee si se ingresan valores no numéricos.

Espero que estas sugerencias te sean útiles. ¡Sigue adelante con tu aprendizaje!

Espero haber ayudado y buenos estudios!