Olá pessoal,
alguém poderia me dizer porque no métido abaixo o for é ignorado?
A mensagem de pedido do cpf é impressa assim que eu termino de digitar o cpf.
Obs.: Eu usei um get acessando outro get, porque usei composição na classe alunoAcademia.
public void efetuarPagamento() {
while (this.validador) {
System.out.println("Informe o cpf do aluno: ");
String cpf = this.pega.nextLine();
this.pega.reset();
for (AlunoAcademia alunosDevedores : this.cAlunoAcademia.getAunosAcademia()) {
if (alunosDevedores.getCpf().equals(cpf) && alunosDevedores.getPagamento().getPagou() == false) {
System.out.println("Nome: " + alunosDevedores.getNome());
System.out.println("Contrato: " + alunosDevedores.getPagamento().getContrato());
this.pega.reset();
if (alunosDevedores.getPagamento().getContrato().equalsIgnoreCase("mensal")) {
alunosDevedores.getPagamento().setPagou(true);
alunosDevedores.getPagamento().setValor(VALOR_MENSAL);
System.out.println("Pagamento efetuado com sucesso. Obrigado.");
} else if (alunosDevedores.getPagamento().getContrato().equalsIgnoreCase("semestral")) {
alunosDevedores.getPagamento().setPagou(true);
alunosDevedores.getPagamento().setValor(VALOR_SEMESTRAL);
System.out.println("Pagamento efetuado com sucesso. Obrigado.");
} else if (alunosDevedores.getPagamento().getContrato().equalsIgnoreCase("anual")) {
alunosDevedores.getPagamento().setPagou(true);
alunosDevedores.getPagamento().setValor(VALOR_ANUAL);
System.out.println("Pagamento efetuado com sucesso. Obrigado.");
}
break;
} else {
System.out.println("Este aluno já pagou a mensalidade.");
}
}
}
}
Muito grato!