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
To embed this program on your website, copy the following code and paste it into your website's HTML: