Por que não entra no for?

3 respostas
guj1

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!

3 Respostas

BrunoFurtado

Opa…

Cara, já tentou verificar se o lista não esta vazia?
Ela pode ter sido inicializada, portanto não esta nula… mas pode estar vazia.

// getAunos ou getAlunos
int qtdeElementos = this.cAlunoAcademia.getAunosAcademia().size();
guj1

BrunoFurtado:
Opa…

Cara, já tentou verificar se o lista não esta vazia?
Ela pode ter sido inicializada, portanto não esta nula… mas pode estar vazia.

// getAunos ou getAlunos int qtdeElementos = this.cAlunoAcademia.getAunosAcademia().size();

Eu estava povoando a lista com um aluno, mas sempre tah retornando zero no tamanho da lista.
Se estou instanciando a classe que tem a lista para poder acessar a lista não sei porque essa nesse metódo o retorno é vazio, sendo que eu volto o lista novamente o aluno e ele é listado, mas isso é em outro método.

L

Cara, tenta usar o length() eu tive um problema parecido e resolveu.
No trecho de codigo que povoa os elementos, lenta montar a lista de elementos e aplicar o “setAunosAcademia()”, eu tenho um problema parecido que resolvi desta forma.

guj1:
BrunoFurtado:
Opa…

Cara, já tentou verificar se o lista não esta vazia?
Ela pode ter sido inicializada, portanto não esta nula… mas pode estar vazia.

// getAunos ou getAlunos int qtdeElementos = this.cAlunoAcademia.getAunosAcademia().size();

Eu estava povoando a lista com um aluno, mas sempre tah retornando zero no tamanho da lista.
Se estou instanciando a classe que tem a lista para poder acessar a lista não sei porque essa nesse metódo o retorno é vazio, sendo que eu volto o lista novamente o aluno e ele é listado, mas isso é em outro método.

Criado 2 de dezembro de 2012
Ultima resposta 2 de dez. de 2012
Respostas 3
Participantes 3