Questão 1
Você foi contratado para desenvolver um sistema que gerencia as reservas de salas de estudo em
uma biblioteca universitária. Cada reserva deve conter o nome do aluno, a data da reserva e o
número da sala. Crie uma classe Reserva com esses atributos e um construtor. No método main,
use a classe Scanner para permitir que o usuário cadastre três reservas, armazenando-as em uma
lista, e ao final exiba todas as reservas cadastradas.
Questão 2
Um hospital deseja registrar diferentes tipos de profissionais que atuam na instituição. Todos os
profissionais possuem nome e matrícula, mas médicos possuem também a especialidade, enquanto
enfermeiros possuem o turno de trabalho. Crie uma superclasse Profissional com os atributos
comuns e as subclasses Medico e Enfermeiro, cada uma com seus atributos específicos.
Sobrescreva o método toString() em cada subclasse para exibir os dados de forma adequada. No
main, crie uma lista com objetos das duas subclasses e exiba suas informações.
Questão 3
Uma empresa de transporte deseja simular o cálculo do valor de viagens com base no tipo de
transporte utilizado. Ônibus cobram R$ 0,50 por quilômetro, enquanto vans cobram R$ 0,75. Crie
uma classe abstrata Transporte com o método abstrato calcularValor(int km) e crie as subclasses
Onibus e Van, implementando o cálculo de forma específica. No método main, crie um objeto de
cada tipo, solicite ao usuário a distância da viagem com Scanner e exiba o valor correspondente.
Questão 4
Você está desenvolvendo uma ferramenta de anotações que permite armazenar diferentes tipos de
conteúdo: textos, lembretes e listas de compras. Implemente uma classe genérica Bloco<T> com
os métodos adicionar(T item) e listar(). No main, utilize essa estrutura para armazenar três tipos
distintos de conteúdo: anotações do tipo String, lembretes do tipo String, e listas de compras
representadas por objetos de uma classe Produto com nome e quantidade. Adicione elementos em
cada lista e exiba os dados.
Questão 5
Uma empresa deseja organizar os funcionários de diversos setores em grupos e precisa de um
sistema que imprima qualquer grupo, independentemente do setor. Crie uma classe Funcionario
com os atributos nome e setor. Em seguida, implemente o método imprimirGrupo(List<? extends
Funcionario> grupo) que exibe os dados de qualquer lista de funcionários. No main, crie listas de
diferentes subclasses de Funcionario (como Desenvolvedor e Designer), adicione alguns objetos e
use o método genérico para imprimir os dados de cada grupo.
Questão 6
Você está criando uma estrutura genérica que simula uma pilha de elementos, onde o último item
adicionado é o primeiro a ser removido. Crie a classe genérica Pilha<T> com os métodos
empilhar(T item), desempilhar() e listar(). No método main, utilize a pilha para armazenar objetos
da classe Documento, que possui os atributos titulo e numeroPaginas. Empilhe alguns docu

Embed on website

To embed this program on your website, copy the following code and paste it into your website's HTML: