Ajuda para fazer um exercício!

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");
    }
  }
}