Desenvolva um programa em JAVA, utilizando as classes vistas em aula para ler e escrever em arquivos, para uma agenda de contatos, com nome, telefone e e-mail. O programa deverá exibir um menu (use o ?switch?) com quatro operações: Adicionar contato, Procurar contato, Listar contatos e Sair. A operação de excluir um contato também será possível, porém só depois de um contato ser procurado, portanto essa opção não deve aparecer no menu inicial.
Para o desenvolvimento, crie uma classe contato com os atributos acima e métodos get e set para todos os atributos. Depois crie outra classe que conterá o programa em si, com método main (você também pode usar métodos auxiliares se desejar).
A agenda será composta por um vetor de contatos de tamanho 100. Cada novo contato inserido será armazenado no vetor e também será salvo em um arquivo CSV (comma separated values). Os arquivos com extensão .csv possuem os elementos separados por vírgula e podem ser lidos por uma planilha eletrônica, como o Excel. Nesse tipo de arquivo as virgulas separam as colunas e o ?Enter? separa as linhas. Lembre-se que as virgulas devem ser inseridas no arquivo pelo programador para separar o nome, o telefone e o e-mail de cada contato. Cada contato ocupará uma linha do arquivo. Para inserir linhas no arquivo use o método append, conforme visto em aula, da classe PrintWriter, que serva para adicionar linhas a um arquivo já existente, sem apagar o conteúdo anterior (assim, ao reabrir o programa, os contatos salvos nas vezes anteriores não serão perdidos).
A listagem é feita mostrado na tela cada posição do vetor. Dica: crie uma variável para contar o numero de contatos inseridos. Não esqueça de decrementá-la quando um contato for excluído.
Para localizar um contato, o nome daquele que se deseja procurar deve ser digitado e então o vetor de contatos deverá ser percorrido verificando-se o nome em cada posição. Lembre-se que a igualdade entre Strings é testada com o método equals (ou equalsIgnoreCase, para se desconsiderar letras maiúsculas e minúsculas). Caso o contato não seja encontrado uma mensagem informando o usuário deverá ser exibida e o menu inicial deverá ser reapresentado.
Entretanto, se o contato for achado, seus dados deverão ser exibidos na tela e ser perguntado ao usuário se ele deseja exclui-lo ou não. Se este não for excluído, o menu inicial será reexibido. Se a opção for sim, é necessário seguir alguns passos para garantir que a agenda ficará consistente:
1º) Apagar o contato do vetor (o arquivo não será modificado nesta etapa).
2º) Crie uma variável que indique que houve uma exclusão na agenda (chamamos de flag, normalmente usamos uma variável do tipo boolean).
3º) Ao escolher a opção de sair, se a variável estiver marcada (com true, por exemplo) grave todos os contatos do vetor na agenda, tomando o cuidado de ?pular? as posições do vetor que estiverem vazias, ou seja, que houverem sido excluídas. Assim, no arquivo gerado, ficarão apenas os contatos válidos. Se a variável não estiver marcada, não é necessário gravar os contatos do vetor, porque eles já foram gravados durante a sua criação (ao Adicionar contato).
Quando o programa for reaberto, o arquivo com os contatos salvos deverá ser lido e cada um deles carregados para o vetor. Lembre-se que depois de cada operação o menu inicial será mostrado novamente. O programa só termina ao ser escolhida a opção Sair.
(Alguem resolve para mim e deixa o arquivo pronto ? Sou novo no fórum e em programação tbm )