Conteúdo:
Crie a classe Jogador
com os atributos: nome, posição, idade, time, golsMarcados
Você pode utilizar os dados dos arrays a seguir ou criar seus próprios dados para gerar jogadores aleatórios (os dados dos jogadores não corresponderão à realidade, mas servem para nosso exemplo).
String[] posicoes = {"Goleiro", "Defensor", "Meio-Campista", "Atacante"};
String[] times = {"Flamengo", "São Paulo", "Palmeiras", "Santos", "Corinthians", "Grêmio", "Internacional", "Fluminense", "Atlético Mineiro", "Cruzeiro"};
String[] nomes = {
"Neymar", "Gabriel Barbosa", "Alisson", "Marquinhos", "Casemiro",
"Roberto Firmino", "Thiago Silva", "Richarlison", "Lucas Paquetá", "Éder Militão",
"Vinícius Júnior", "Fabinho", "Douglas Luiz", "Everton Ribeiro", "Ederson",
"Gabriel Jesus", "Danilo", "Rodrygo", "Fred", "Reinier"
};
Use o código a seguir como base para resolver o exercício:
Crie uma lista com 20 jogadores com dados (nome, posição, idade, time, golsMarcados) aleatórios.
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class Jogador {
private String nome;
private String posicao;
private int idade;
private String time;
private int golsMarcados;
public Jogador(String nome, String posicao, int idade, String time, int golsMarcados) {
this.nome = nome;
this.posicao = posicao;
this.idade = idade;
this.time = time;
this.golsMarcados = golsMarcados;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getPosicao() {
return posicao;
}
public void setPosicao(String posicao) {
this.posicao = posicao;
}
public int getIdade() {
return idade;
}
public void setIdade(int idade) {
this.idade = idade;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public int getGolsMarcados() {
return golsMarcados;
}
public void setGolsMarcados(int golsMarcados) {
this.golsMarcados = golsMarcados;
}
@Override
public String toString() {
return "Jogador{" +
"nome='" + nome + '\\'' +
", posicao='" + posicao + '\\'' +
", idade=" + idade +
", time='" + time + '\\'' +
", golsMarcados=" + golsMarcados +
'}';
}
}
public class Exercicio {
public static void main(String[] args) {
String[] posicoes = {"Goleiro", "Defensor", "Meio-Campista", "Atacante"};
String[] times = {"Flamengo", "São Paulo", "Palmeiras", "Santos", "Corinthians", "Grêmio", "Internacional", "Fluminense", "Atlético Mineiro", "Cruzeiro"};
String[] nomes = {
"Neymar", "Gabriel Barbosa", "Alisson", "Marquinhos", "Casemiro",
"Roberto Firmino", "Thiago Silva", "Richarlison", "Lucas Paquetá", "Éder Militão",
"Vinícius Júnior", "Fabinho", "Douglas Luiz", "Everton Ribeiro", "Ederson",
"Gabriel Jesus", "Danilo", "Rodrygo", "Fred", "Reinier"
};
List<Jogador> jogadores = new ArrayList<>();
for (int i = 0; i < 20; i++) {
Random r = new Random();
String posicao = posicoes[r.nextInt(posicoes.length)];
String time = times[r.nextInt(times.length)];
String nome = nomes[r.nextInt(nomes.length)];
int idade = r.nextInt(18, 40);
int gols = r.nextInt(0, 10);
jogadores.add(
new Jogador(nome, posicao, idade, time, gols));
}
// imprimeTodos(jogadores);
filtraPorTime(jogadores, "Flamengo");
}
public static void imprimeTodos(List<Jogador> jogadores) {
jogadores.stream().forEach(System.out::println);
}
public static void filtraPorTime(List<Jogador> jogadores, String time) {
jogadores.stream()
.filter(j -> j.getTime().equals(time))
.forEach(System.out::println);
}
}
Usando streams
, implemente as funções para: