Utilizei um for para melhor experiência na digitação do código de acesso, com isso o usuário tem três tentativas de acertar, e se ultrapassar o limite, o programa é encerrado com o comando return. Senão para o método com o break e segue o programa que irá pedir o nível de permissão para concluir.
package IfAndElse;
import java.util.Scanner;
public class VerificarAcesso {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Integer senha;
Integer permissao;
System.out.println("Sistema de Segurança para empresa");
for (int i = 1; i < 4; i++) {
System.out.println("Digite o código de acesso: ");
senha = input.nextInt();
input.nextLine();
if(senha!=2023){
System.out.println("\nPá! Acesso negado!");
System.out.println("Motivo: Senha Incorreta!!!");
if (i==3){
System.out.println("\nPerdeu as 3 tentativas!!!");
return;
}
} else{
System.out.println("\nCódigo de acesso correto!");
break;
}
}
System.out.println("Digite o nível de permissão: ");
permissao = input.nextInt();
input.nextLine();
if (permissao==1 || permissao==2 || permissao==3){
System.out.println("\nAcesso permitido. Bem-vindo ao sistema!");
System.out.println("Nível de permissão do usuário: " + permissao);
}
else{
System.out.println("\nPá! Acesso negado!");
System.out.println("Motivo: Nível de permissão inválido!!!");
}
}
}