Exercício - Fundamentos de POO
Exercício - Fundamentos de POO
1. Crie uma classe Java que represente uma entidade Aluno. Sabendo-se que cada
aluno possui nome, matrícula, CPF e idade, ele deve usar de artifícios de
encapsulamento, mantendo os seus atributos privados e fornecendo métodos de
acesso e configuração dos atributos (getters e setters). Além disso a classe aluno
deve possuir dois construtores: um construtor padrão, que não recebe parâmetros e
apenas atribui valores default para os atributos da classe, e um construtor
parametrizado, que recebe parâmetros e atribui os seus valores aos atributos da
classe. Por fim, a classe aluno deve possuir um método toString, que deve retornar
uma única String com os valores dos atributos da classe.
2. Crie uma classe Java que represente uma fila de alunos (FilaAlunos). Para tal,
mantenha como atributo desta classe um vetor de Alunos, sendo criado inicialmente
com 5 posições, e um atributo para armazenar a quantidade de Alunos que existem
no vetor (inicialmente deve ser zero). Além de um construtor padrão, classe
FilaAlunos deve fornecer os seguintes métodos:
● void addFim(Aluno aluno) : alunos devem ser adicionados no final da fila
através desse método. Como o tamanho da fila é fixo (inicialmente de 5
posições), este método deve verificar se a fila está cheia, ou seja, verificar se
o número de alunos na fila é igual a capacidade máxima da fila. Caso a fila
esteja cheia, este método deverá chamar o método “aumentarTamanho”, e
só depois deve adicionar o novo aluno da fila.
● void aumentarTamanho() : este método deve criar um novo vetor de
alunos, com o dobro do tamanho do vetor atual mantido pela classe
FilaAlunos. Após a criação, este método deve copiar todos os alunos do vetor
antigo para o novo vetor e, após a cópia, deve armazenar o novo vetor no
lugar do antigo.
● Aluno removerInicio(): este método deve remover o aluno que está no
início da fila (primeiro da fila). Após a remoção, cada aluno deve andar uma
posição à frente na fila, ou seja, o segundo aluno deve ir para a primeira
posição, o terceiro aluno deve ir para a segunda posição, e assim
sucessivamente. Por fim, o método deve atualizar o novo número de alunos
na fila e retornar o Aluno removido.
● Aluno getAluno(String nome) : este método deve pesquisar se existe
algum aluno com o nome passado por parâmetro. Caso exista, o método deve
retornar o aluno. Obs: um nome escrito em letras maiúsculas é o mesmo de
um escrito em letras minúsculas.
● Aluno getAluno(int indice): deve retornar o aluno que se situa na
posição informada, casa exista.
● int getTamanho(): deve retornar o tamanho da fila, ou seja, a quantidade
de alunos.
● String toString(): deve retornar uma String contendo informações
sobre todos os alunos, ou seja, deve montar uma única String chamando o
método toString de cada aluno.
3. Crie uma classe Java e chamada App, que deve conter um método main. Esta classe
deve conter uma fila de alunos e exibir um menu ao usuário, contendo as seguintes
opções:
1- Adicionar aluno
2- Remover aluno
3- Buscar aluno por nome
4- Buscar aluno por índice
5- Verificar tamanho da fila
6- Imprimir fila
O programa deve ler a opção do usuário e deve chamar o método correspondente da lista
de alunos. Caso o usuário decida adicionar um aluno, um novo objeto Aluno deve ser criado,
os seus atributos devem ser informados pelo usuário (nome, matricula, cpf e idade), e o
objeto deve ser adicionado a fila. A aplicação deve continuar exibindo o menu após o
término de cada operação. Organize seu código em pacotes.