Exercício Java: Bandas de k-pop
Este projeto Java visa criar um sistema de gerenciamento de bandas de K-pop, incorporando classes para Membros, Managers e Bandas, com ênfase em funcionalidades que aprimoram o sistema.
Voltar
Índice
1. Descrição
Este projeto tem como objetivo criar um sistema de gerenciamento de bandas de K-pop em Java, abrangendo as principais entidades presentes no cenário musical. As classes principais incluem representações para Membros, Managers e Bandas, proporcionando uma estrutura coesa para a organização e manipulação de informações relacionadas ao universo do K-pop.
A implementação não se limita apenas à modelagem das classes, mas também prioriza a entrega de um conjunto de funcionalidades que enriquecem e aprimoram o sistema como um todo.
2. Classes
2.1. Membro
2.1.1. Atributos privados
| Rótulo |
Tipo |
| nome |
String |
| idade |
int |
| cargo |
String |
| salario |
float |
| contratado |
boolean |
2.1.2. Construtores públicos
| Rótulo |
Parâmetros |
| Membro |
nome: String, idade: int, cargo: String, salario: float, contratado: boolean |
2.1.3. Métodos públicos
| Rótulo |
Parâmetros |
Retorno |
| getNome |
|
String |
| setNome |
nome: String |
|
| getIdade |
|
int |
| setIdade |
idade: int |
|
| getCargo |
|
String |
| setCargo |
cargo: String |
|
| getSalario |
|
float |
| setSalario |
salario: float |
|
| isContratado |
|
boolean |
| setContratado |
contratado: boolean |
|
2.2. Manager
2.2.1. Atributos privados
| Rótulo |
Tipo |
| nome |
String |
| idade |
int |
| salario |
float |
| anosDeExperiencia |
int |
2.2.2. Construtores públicos
| Rótulo |
Parâmetros |
| Manager |
nome: String, idade: int, salario: float, anosDeExperiencia: int |
2.2.3. Métodos públicos
| Rótulo |
Parâmetros |
Retorno |
| getNome |
|
String |
| setNome |
nome: String |
|
| getIdade |
|
int |
| setIdade |
idade: int |
|
| getSalario |
|
float |
| setSalario |
salario: float |
|
| getAnosDeExperiencia |
|
int |
| setAnosDeExperiencia |
anosDeExperiencia: int |
|
2.3. Banda
2.3.1. Atributos privados
| Rótulo |
Tipo |
| nome |
String |
| agencia |
String |
| anoDeEstreia |
int |
| managerResponsavel |
Manager |
| listaDeMembros |
List<Membro> |
2.3.2. Construtores públicos
| Rótulo |
Parâmetros |
| Banda |
nome: String, agencia: String, anoDeEstreia: int, managerResponsavel: Manager |
2.3.3. Métodos públicos
| Rótulo |
Parâmetros |
Retorno |
| getNome |
|
String |
| setNome |
nome: String |
|
| getAgencia |
|
String |
| setAgencia |
agencia: String |
|
| getAnoDeEstreia |
|
int |
| setAnoDeEstreia |
anoDeEstreia: int |
|
| getManagerResponsavel |
|
Manager |
| setManagerResponsavel |
managerResponsavel: Manager |
|
| getListaDeMembros |
|
List<Membro> |
| adicionarMembro |
membroParaAdicionar: Membro |
|
| calcularMediaDeIdadeDosMembros |
|
float |
| exibirTodasAsInformacoes |
|
|
3. Requisitos
Faça validações, garantindo que:
- A idade dos membros seja maior que zero.
- A idade do manager seja maior que dezoito.
- O salário não pode ser negativo para membros e managers.
- O ano de estreia da banda não pode ser um ano futuro.
Dica: faça as validações antes de atribuir os valores nos atributos!
4. Funcionalidades
- Implemente um método na classe Banda para adicionar um membro à lista de membros da banda.
- Implemente um método na classe Banda para calcular a média de idade dos membros da banda.
- Implemente um método na classe Banda para exibir todas as informações da banda, incluindo o nome, agência, ano de estreia, informações do manager e a lista de membros.
5. Exemplo de uso
public class Main {
public static void main(String[] args) {
Membro membro1 = new Membro("Jimin", 25, "Vocalista", 300000.0F, true);
Membro membro2 = new Membro("Jungkook", 24, "Maknae", 350000.0F, true);
Manager manager = new Manager("Bang Si-hyuk", 45, 1500000.0F, 15);
Banda banda = new Banda("BTS", "Big Hit Entertainment", 2013, manager);
banda.adicionarMembro(membro1);
banda.adicionarMembro(membro2);
System.out.println("Média de idade dos membros: " + banda.calcularMediaDeIdadeDosMembros());
banda.exibirTodasAsInformacoes();
}
}
Voltar