Hola! comparto como desarrolle el ejercicio
Hola! comparto como desarrolle el ejercicio
¡Hola Angelica, espero que estés bien!
Tu código se ve bastante bien, pero hay un pequeño ajuste que podrías considerar para que sea más claro y eficiente. Actualmente, el código comprueba si el nivel de permiso es 1, 2 o 3 dentro de la misma condición del if
principal. Esto funciona, pero podrías simplificar la lógica un poco.
Aquí tienes una sugerencia para mejorar la claridad:
import java.util.Scanner;
public class AccesoPermiso {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("Ingrese su código de acceso");
int codigoAcceso = scanner.nextInt();
System.out.println("Ingrese su permiso numérico");
int permisoNumerico = scanner.nextInt();
boolean codigoCorrecto = codigoAcceso == 2023;
boolean permisoValido = permisoNumerico == 1 || permisoNumerico == 2 || permisoNumerico == 3;
if (codigoCorrecto && permisoValido) {
System.out.println("Acceso permitido. ¡Bienvenido al sistema!");
} else {
System.out.println("Acceso denegado");
if (!codigoCorrecto) {
System.out.println("El código de acceso ingresado es incorrecto");
}
if (!permisoValido) {
System.out.println("Nivel de permiso inválido");
}
}
scanner.close();
}
}
En este ajuste, se utilizan variables booleanas codigoCorrecto
y permisoValido
para hacer el código más legible. Esto también ayuda a evitar repeticiones y facilita la comprensión de la lógica.
Espero que esto te sea de ayuda y buenos estudios!