Não estou conseguindo implementar esse algoritmo em java, alguém pode da uma ajuda?

Estamos em época de eleições, e o Supremo Tribunal Eleitoral entrou em contato com você pedindo para
implementar um sistema em Java para gerir as eleições no próximo mês. Os requisitos do sistema são:
a. Você deve criar 4 classes, que são elas: Eleitor, Partido, Candidato e Voto, com no mínimo 2 atributos cada
classe;
b. Além disto, você deve criar uma classe Eleicoes que possui vários candidatos (vetor de candidatos) e vários
eleitores (vetor de eleitores).
c. Na classe Eleicoes você deve criar um método main que irá simular a atividade eleitoral, com vários eleitores
informando o seu voto, um a um. Para esta simulação você deve implementar um menu de três opções (1 –
“novo voto”, 2 - “voto em branco”, 3 – “voto nulo”, 4 – “finalizar eleição”). Você deve usar “switch case”
neste menu.
d. Você deve apresentar o resultado da eleição com o número de votos de cada candidato e qual o partido de
cada candidato.

Que parte você não esta conseguindo ?

Do item b em diante, sou iniciante.

Se a duvida é criar um vetor será assim:

public class Eleicoes{
Candidato [] candidatos;
Eleitor [] eleitores;
}

A dúvida é como desenvolver esse algoritmo, eu não consigo implementar a lógica.

Antes de fazer exercício em Java revise sobre algoritmos.