Exercício Java: Times de futebol
Este projeto Java tem como objetivo criar um sistema de gerenciamento de times de futebol, incorporando classes para Jogadores, Técnicos e Times, com ênfase em funcionalidades que aprimoram o sistema.
Voltar
Índice
1. Descrição
Este projeto visa criar um sistema de gerenciamento de times de futebol em Java, contemplando as principais entidades presentes em um ambiente esportivo. As classes principais incluem representações para Jogadores, Técnicos e Times, proporcionando uma estrutura coesa para a organização e manipulação de informações relacionadas ao mundo do futebol.
A implementação não se limita à 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. Jogador
2.1.1. Atributos privados
Rótulo |
Tipo |
nome |
String |
idade |
int |
posicao |
String |
salario |
float |
contratado |
boolean |
2.1.2. Construtores públicos
Rótulo |
Parâmetros |
Jogador |
nome: String , idade: int , posicao: 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 |
|
getPosicao |
|
String |
setPosicao |
posicao: String |
|
getSalario |
|
float |
setSalario |
salario: float |
|
isContratado |
|
boolean |
setContratado |
contratado: boolean |
|
2.2. Tecnico
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 |
Tecnico |
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. Time
2.3.1. Atributos privados
Rótulo |
Tipo |
nome |
String |
cidade |
String |
anoDeFundacao |
int |
tecnicoResponsavel |
Tecnico |
listaDeJogadores |
List<Jogador> |
2.3.2. Construtores públicos
Rótulo |
Parâmetros |
Time |
nome: String , cidade: String , anoDeFundacao: int , tecnicoResponsavel: Tecnico |
2.3.3. Métodos públicos
Rótulo |
Parâmetros |
Retorno |
getNome |
|
String |
setNome |
nome: String |
|
getCidade |
|
String |
setCidade |
cidade: String |
|
getAnoDeFundacao |
|
int |
setAnoDeFundacao |
anoDeFundacao: int |
|
getTecnicoResponsavel |
|
Tecnico |
setTecnicoResponsavel |
tecnicoResponsavel: Tecnico |
|
getListaDeJogadores |
|
List<Jogador> |
adicionarJogador |
jogadorParaAdicionar: Jogador |
|
calcularMediaDeIdadeDosJogadores |
|
float |
exibirTodasAsInformacoes |
|
|
3. Requisitos
Faça validações, garantindo que:
- A idade dos jogadores seja maior que zero.
- A idade do técnico seja maior que dezoito.
- O salário não seja negativo para jogadores e técnicos.
- O ano de fundação do time 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 Time para adicionar um jogador à lista de jogadores do time.
- Implemente um método na classe Time para calcular a média de idade dos jogadores do time.
- Implemente um método na classe Time para exibir todas as informações do time, incluindo o nome, cidade, ano de fundação, informações do técnico e a lista de jogadores.
5. Exemplo de uso
public class Main {
public static void main(String[] args) {
Jogador jogador1 = new Jogador("Neymar", 29, "Atacante", 500000.0F, true);
Jogador jogador2 = new Jogador("Casemiro", 29, "Meio-campista", 300000.0F, true);
Tecnico tecnico = new Tecnico("Tite", 60, 1000000.0F, 20);
Time time = new Time("Seleção Brasileira", "Rio de Janeiro", 1914, tecnico);
time.adicionarJogador(jogador1);
time.adicionarJogador(jogador2);
System.out.println("Média de idade dos jogadores: " + time.calcularMediaDeIdadeDosJogadores());
time.exibirTodasAsInformacoes();
}
}
Voltar