Oi, Gilvaneide! Como vai?
Você estruturou bem o uso de if
e else
pra validar o código de acesso e o nível de permissão.
Um ponto de atenção é a condição composta no primeiro if
, que pode gerar permissões indevidas. Isso acontece porque a lógica nivelAcesso == 1 || nivelAcesso == 2 || nivelAcesso == 3
está sendo avaliada independentemente do codigoDigitado
.
import java.util.Scanner;
public class VerificacaoPermissao {
public static void main(String[] Args) {
Scanner leitura = new Scanner(System.in);
int codigoValido = 2023;
System.out.println("\nDigite o código de acesso: ");
int codigoDigitado = leitura.nextInt();
System.out.println("\nDigite o nível de permissão: ");
int nivelAcesso = leitura.nextInt();
// Ajuste com parênteses para garantir que as duas condições sejam avaliadas corretamente
if (codigoDigitado == codigoValido &&
(nivelAcesso == 1 || nivelAcesso == 2 || nivelAcesso == 3)) {
System.out.println("\nAcesso permitido. Bem vindo ao sistema!");
} else {
if (codigoDigitado != codigoValido) {
System.out.println("\nAcesso negado. Verifique o código de acesso!");
}
if (nivelAcesso != 1 && nivelAcesso != 2 && nivelAcesso != 3) {
System.out.println("\nAcesso negado. Verifique o nível de permissão!");
}
}
}
}
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!