Problema com ArrayList

6 respostas
M

Ola amigos, estou com o seguinte problema:

tenho uma classe que efetua o cadastro de alunos num arrayList…ate ai tudo bem, funciona, porem esta ocorrendo o seguinte:
se eu quiser, eu posso matricular o mesmo alunos uma infinidade de vezes…

como eu faria para impedir que um aluno matriculado fosse matriculado novamente no mesmo curso???

segue o codigo:

/**
 * Classe Curso
 * 
 * 
 * @version 2010-05-12
 */

import java.util.ArrayList;

public class Curso
{

    private String nomeCurso;
    private ArrayList grupoAlunos;
    private int limite;
    
    public Curso() {
        nomeCurso = "";
        grupoAlunos = new ArrayList();
        limite = 10;
    }
    
    public Curso(String nomeCurso, int limite) {
        this.nomeCurso = nomeCurso;
        grupoAlunos = new ArrayList();
        this.limite = limite;
    }
    
    public void matricularAluno(Aluno aluno) {
       grupoAlunos.add(aluno);
}
    
    public void setNomeCurso(String nomeCurso) {
        this.nomeCurso = nomeCurso;
    }
    
    public String getNomeCurso() {
        return nomeCurso;
    }
    
    public int getQuantidadeDeAlunos() {
        return grupoAlunos.size();
    }
    
    public void ListarTodosAlunos() {
        
        int quantidadeAlunos = getQuantidadeDeAlunos();
        System.out.println("--- Listagem de Alunos do curso " + nomeCurso +" --- ");
        
        if (quantidadeAlunos == 0 ) {
            System.out.println(" Não há alunos matriculados no curso. ");
       
        }  else {
        
            for (int x = 0; x < quantidadeAlunos; x++) {
               
 
                Aluno aluno = (Aluno) grupoAlunos.get(x);
                 if((aluno.getNome() == aluno.getNome()) && (aluno.getMatricula() == aluno.getMatricula())) {
                 
                System.out.println( (x+1) + "º aluno - Matrícula: "+ aluno.getMatricula() + " - Nome: "  + aluno.getNome() );
                System.out.println("-------------------------- ");
        
            }
            
            
                
        }
     
    
    }
    
}

}

6 Respostas

O

Use o Set. Aproveitando, dê uma lida aqui

M

No caso, preciso de um metodo ou instrução que quando alguem for matricular um aluno ja matriculado, seja apresentada uma mensagem de erro tipo:Este aluno ja foi matriculado!..

userguj

mariano201003

Seguinte, a ArrayList tem um método chamado contains(Object elem), que retorna “verdadeiro” se houver uma coincidencia com o parametro passado, ou seja, ele verifica se já está no caso cadastrado.!

Sakou ?!!

M

Ae sim, agora esta correto!

Muito obrigado a todos!

O

mariano201003:
Ae sim, agora esta correto!

Muito obrigado a todos!


Ow, desculpa pela resposta errada. :roll:

blackfalcon

ozix:
mariano201003:
Ae sim, agora esta correto!

Muito obrigado a todos!


Ow, desculpa pela resposta errada. :roll:

Bem, nao sei para ele, mas eu estou lendo agora o artigo que voce postou amigo.

Abraços

Criado 14 de maio de 2010
Ultima resposta 14 de mai. de 2010
Respostas 6
Participantes 4