Professor, estou fazendo um exercício para criação de uma lista de tarefas. Decidi empregar o que aprendi e resolver o exercício com o que vi até agora de OO. No comando inicial do exercício ele diz que o programa deverá ter comandos como "adicionar" nova tarefa, "listar" tarefas e "concluir" tarefa. Daí eu decidi criar uma Classe Tarefa para criar os atributos e métodos que utilizarei. A Classe ficou conforme abaixo:
public class Tarefa {
    private String descricao;
    private int realizacao = 0;
    public Tarefa(String descricao, int realizacao){
        this.descricao = descricao;
        this.realizacao = realizacao;
    }
    
    public String getDescricao(){
        return descricao;
    }
    public int getRealizacao(){
        return realizacao;
    }
}
E tentei imaginar que o meu main deverá, antes de cadastrar uma nova tarefa, conferir de há espaço no array e pegar o primeiro espaço vazio e cadastrar a nova tarefa. Mas agora parece que eu congelei, não sei mais o que fazer para criar um new para popular o array e depois como é que farei para o usuário poder alterar uma tarefa para "realização" igual a 100%, ou seja, concluída.
o main ficou assim:
public class Main {
    public static void main(String[] args) {
        int firstEmptyPlace = 0;
        Tarefa[] tarefas = new Tarefa[3];
        int firstEmptyPlace = 0;
        for(int i = 0; i < tarefas.length; i++){
            if (tarefas[i] == null)
            {
                firstEmptyPlace = i;
                break;
            }
        }
    }
}
Poderiam me ajudar? Desde já agradeço imensamente.