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