Array Java!

4 respostas
J

olá galera!! Bom é a primeira vez que estou usando o forum…
Bom criei um array “alunos[]” e usei o metodo “cadastrarAluno(Aluno aluno)” para adicionar a referencia de cada aluno nas posições do array e quero retirar um aluno específico, então criei o metodo “removerAluno()”, a questão é metodo está removendo todas as referencias existentes nas posições do array?? o que posso modificar no metodo ou fazer??

public class Turma{

(outros…)

private Aluno[] alunos = new Aluno[10];

public void cadastrarAlunos(Aluno aluno) {

if (alunos != null){

for (int i = 0; i < alunos.length; i++) {

if (alunos[i] == null){

alunos[i] = aluno;

break;

}

}

}

}
public void removerAluno(Aluno aluno) {

if (alunos != null){

for (int i = 0; i < alunos.length; i++) {

if (alunos[i] == aluno){

alunos[i] = null;

break;

}

}

}

}

}

4 Respostas

thiago.correa

Na sua classe aluno sobreescreva o método Object.equals(Object o) e use assim

alunos[i].equals(aluno)

C

acho que seria interessante esta usando uma collection como TreeSet pra não ter que ficar iterando pra achar o objeto ou verificando se o mesmo já existe.

J

galera obrigadão pelas respostas!!

R

E ai cara blz?

tenta usar uma lista ou um map cara!
pessoalmente eu prefiro saca? acho mais prático

ArrayList alunos = new ArrayList();

ai vc faz um for para percorrer sua lista:

e faz uma condição!

if (alunoParaExcluir.equalsIgnoreCase(suaLista.get(i)){

removerAluno(alunoParaExcluir);

}

alguma coisa nessa linha!
não sei apenas uma ideia para te ajudar a pensar!

abraçoo

Criado 11 de maio de 2009
Ultima resposta 11 de mai. de 2009
Respostas 4
Participantes 4