Estou fazendo um projeto para testar meus conhecimentos e acabei me deparando com um problema que não estou conseguindo solucionar.
A idéia é ter três lista: jogadores, jodores escalados e jogadores não escalados.
A plicação funcionaria da seguinte maneira:
1° Cadastro os jogadores.
2° Cadastro os jogadores escalados, selecionando os jogadores da primeira lista pelo seu código.
3° Comparo as duas lista e todos os jogadores que não estiverem cadastrados na lista jogadores escalados, seriam cadastrados na lista jogadores não cadastrados
public void jogadoresNaoEscalados() {
for (int i=0;i < jogador.size();i++) {
jogador.get(i);
int u = 0;
boolean cont;
cont = true;
while ( u < jogadoresEscalados.size()) {
if (jogadoresEscalados.get(u).getCodJogador() == jogador.get(i).getCodJogador()) {
cont = false;
break;
} else if(jogadoresEscalados.get(u).getCodJogador() != jogador.get(i).getCodJogador()){
continue;
}
u++;
}
if (cont == false) {
jogadoresNaoEscalados.add(new Jogador(jogadoresEscalados.get(u).getCodJogador(),jogadoresEscalados.get(u).getNome(),jogadoresEscalados.get(u).getCpf(),jogadoresEscalados.get(u).getDataDeNascimento()));
}
}
}
Esse é o método que eu criei, mas não funciona como o esperado.
public void escalarJogadores(Jogador jog) {
if (jog.apto())
{
if (jogador.size() == 0) {
this.jogadoresEscalados.add(new Jogador(jog.getCodJogador(), jog.getNome(), jog.getCpf(), jog.getDataDeNascimento()));
} else {
for (int i = 0; i < jogadoresEscalados.size(); i++) {
Jogador joga = jogador.get(i);
if (jog.getCodJogador() == joga.getCodJogador()) {
throw new RuntimeException("Jogador ja escalado!! cod: " + joga.getCodJogador());
}
}
}
this.jogadoresEscalados.add(new Jogador(jog.getCodJogador(), jog.getNome(), jog.getCpf(), jog.getDataDeNascimento()));
} else
throw new RuntimeException(" Jogador suspenso!!");
}
E esse para escalar os jogadores (caso seja necessário o conhecimento).