Estou aprendendo a programar e estou com dificuldade em continuar o código na parte do bloqueio. alguém consegue resolver(essa atividade não necessita de tela apenas o código).
Desenvolva um sistema que solicite um usuario e senha, para que seja possivel logar.
Se usuario e senha estiverem corretos exibir “Logado com sucesso”
Caso seja digitado um usuario e senha errado em 3 tentativas, sempre informar “Digite novamente, usuario e senha errados”.
Na quarta tentativa o sistema não deverá permitir o acesso, e deverá mostrar “Usuario e senha bloqueados” e nao possibilitar mais tentativas.
Este é um jeito de fazer:
import java.util.HashSet;
import java.util.Scanner;
import java.util.Set;
class User {
final String username;
final String password;
User(String username, String password) {
this.username = username;
this.password = password;
}
boolean check(String username, String password) {
return this.username.equals(username) && this.password.equals(password);
}
}
public class Main {
private static final Set<User> users = new HashSet<>();
private static final Scanner scan = new Scanner(System.in);
private static boolean login() {
for (int i = 0; i < 3; i++) {
System.out.print("Username: ");
String username = scan.nextLine();
System.out.print("Password: ");
String password = scan.nextLine();
if (users.stream().anyMatch(user -> user.check(username, password))) {
return true;
}
System.out.println("Digite novamente, usuario e senha errados");
}
return false;
}
public static void main(String... args) {
users.add(new User("xxx", "yyy"));
users.add(new User("aaa", "bbb"));
if (login()) {
System.out.println("Logado com sucesso");
} else {
System.out.println("Usuário e senha bloqueados");
}
}
}