Anda di halaman 1dari 2

Disciplina:

POO - Profa. Ayla Dantas Rebouas Exerccio 1


Nome Aluno: ______________________________________________________ Data:____/___/_____
Considere um Sistema responsvel pelo controle de uma brincadeira de Amigo Secreto e cujo diagrama de classes est
mostrado na figura abaixo. A partir desse sistema se pode cadastrar os participantes da brincadeira (cadastraAmigo),
pesquisar um dos participantes (pesquisaAmigo), configurar o amigo secreto de um certo participante aps o sorteio
(configuraAmigoSecretoDe), enviar mensagens (annimas ou no e que podem ir para todos os participantes ou para um
participante em particular).


A classe principal desse sistema e que oferece as suas funcionalidades principais a classe SistemaAmigo, que guarda a
lista de amigos participantes da brincadeira e tambm as mensagens trocadas entre os participantes. Mensagem uma
classe abstrata e que apresenta apenas um mtodo abstrato getTextoCompletoAExibir(), alm de outros mtodos
concretos mostrados no diagrama. MensagemParaTodos e MensagemParaAlguem so subclasses de Mensagem e cada
uma apresenta uma implementao prpria do mtodo abstrato. Cada mensagem pode ser annima ou no dependendo
do valor da varivel booleana anonima passada no seu construtor. Na classe MensagemParaAlguem o mtodo
getTextoCompletoAExibir retorna uma mensagem no estilo Mensagem para fulano@email.com. Texto: Texto da
mensagem ou Mensagem de: sicrano@email.com para fulano@email.com. Texto: Texto da mensagem caso a mensagem
no seja annima. Na classe MensagemParaTodos este mtodo retorna uma mensagem no estilo Mensagem para todos.
Texto: Texto da mensagem ou Mensagem de sicrano@email.com para todos. Texto: Texto da mensagem caso a mensagem
no seja annima.

1 (3.0). Fornea o cdigo para as classes Mensagem e MensagemParaAlguem. Observe o formato do texto da
mensagem conforme exemplo acima.
2.(3.0) Fornea o cdigo para os seguintes mtodos da classe SistemaAmigo:
public List<Mensagem> pesquisaMensagensAnonimas(){ {}

//Mtodo que pesquisa as mensagens que so annimas e retorna uma lista com tais mensagens.
public void configuraAmigoSecretoDe(String emailDaPessoa, String emailAmigoSorteado)
throws AmigoInexistenteException{}

// Mtodo que configura o amigo secreto sorteado para a pessoa cujo e-mail emailDaPessoa, atribuindo-lhe seu
// amigo secreto como sendo a pessoa de e-mail emailAmigoSecreto. Caso no exista pessoa cadastrada no sistema
// com o e-mail emailDaPessoa, deve ser lanada a exceo AmigoInexistenteException.

3.(4.0) Crie um mtodo main que execute os seguintes passos nesse sistema a partir da classe SistemaAmigo:
a) Cadastre dois amigos Jos e Maria com seus e-mails.
b) Configure o amigo secreto de Jos como sendo Maria e o amigo secreto de Maria como sendo Jos. Obs: Lembre de tratar
a exceo que pode ser lanada.
c) Envie uma mensagem annima de Maria para Jos.
d) Envie uma mensagem annima de Maria para todos.
e) Pesquise as mensagens annimas e imprima o texto completo dessas mensagens atravs do mtodo
getTextoCompletoAExibir.
f) Pesquise o e-mail do amigo secreto de Jos e veja se o e-mail de Maria, imprimindo Ok caso seja.

Disciplina: POO - Profa. Ayla Dantas Rebouas Exerccio 2


Nome Aluno: ______________________________________________________ Data:____/___/_____
Considere um Sistema responsvel pelo controle de uma brincadeira de Amigo Secreto e cujo diagrama de classes est
mostrado na figura abaixo. A partir desse sistema se pode cadastrar os participantes da brincadeira (cadastraAmigo),
pesquisar um dos participantes (pesquisaAmigo), configurar o amigo secreto de um certo participante aps o sorteio
(configuraAmigoSecretoDe), enviar mensagens (annimas ou no e que podem ir para todos os participantes ou para um
participante em particular).


A classe principal desse sistema e que oferece as suas funcionalidades principais a classe SistemaAmigo, que guarda a
lista de amigos participantes da brincadeira e tambm as mensagens trocadas entre os participantes. Mensagem uma
classe abstrata e que apresenta apenas um mtodo abstrato getTextoCompletoAExibir(), alm de outros mtodos
concretos mostrados no diagrama. MensagemParaTodos e MensagemParaAlguem so subclasses de Mensagem e cada
uma apresenta uma implementao prpria do mtodo abstrato. Cada mensagem pode ser annima ou no dependendo
do valor da varivel booleana anonima passada no seu construtor. Na classe MensagemParaAlguem o mtodo
getTextoCompletoAExibir retorna uma mensagem no estilo Mensagem para fulano@email.com. Texto: Texto da
mensagem ou Mensagem de: sicrano@email.com para fulano@email.com. Texto: Texto da mensagem caso a mensagem
no seja annima. Na classe MensagemParaTodos este mtodo retorna uma mensagem no estilo Mensagem para todos.
Texto: Texto da mensagem ou Mensagem de sicrano@email.com para todos. Texto: Texto da mensagem caso a mensagem
no seja annima.

1 (3.0). Fornea o cdigo para as classes Mensagem e MensagemParaAlguem. Observe o formato do texto da
mensagem conforme exemplo acima.
2.(3.0) Fornea o cdigo para os seguintes mtodos da classe SistemaAmigo:
public List<Mensagem> pesquisaTodasAsMensagens(){

//Mtodo que pesquisa todas as mensagens j enviadas.

public String pesquisaAmigoSecretoDe(String emailDaPessoa) throws


AmigoInexistenteException, AmigoNaoSorteadoException{}

// Mtodo que pesquisa o e-mail do amigo secreto sorteado para a pessoa cujo e-mail emailDaPessoa
// Caso no exista pessoa cadastrada no sistema com o e-mail emailDaPessoa, deve ser lanada a exceo
// AmigoInexistenteException. Caso exista a pessoa com esse e-mail, mas o seu amigo secreto sorteado
// ainda no tenha sido configurado (o e-mail do amigo sorteado null), deve ser lanada a exceo
// AmigoNaoSorteadoException.
3.(4.0) Crie um mtodo main que execute os seguintes passos nesse sistema a partir da classe SistemaAmigo:
a) Cadastre dois amigos Lcia e Ftima com seus e-mails.
b) Configure o amigo secreto de Lcia como sendo Ftima e o amigo secreto de Ftima como sendo Lcia. Obs: Lembre de
tratar a exceo que pode ser lanada.
c) Envie uma mensagem no annima de Lcia para todos.
d) Envie uma mensagem annima de Lcia para Ftima.
e) Pesquise todas as mensagens e imprima o texto completo dessas mensagens atravs do mtodo
getTextoCompletoAExibir.
f) Pesquise o e-mail do amigo secreto de Ftima e veja se o e-mail de Lcia, imprimindo Ok caso seja. Obs: Lembre de
tratar as excees.

Anda mungkin juga menyukai