[quote=drigo.angelo]Então, pelo que entendi sua dificuldade está em filtrar os resultados né
faz mais ou menos assim:
public List<Aluno> filtrar(Aluno aluno){
List<Aluno> correspondentes = new ArrayList<Aluno>();
for(Aluno a : colecaoAlunos){
if(aluno.match(a))
correspondentes.add(a);
}
return correspondentes;
}
//E na classe aluno
public boolean match(Aluno a){
return this.getNome().equals(a.getNome())
|| this.getMatricula() == a.getMatricula()
|| this.getIdade() == a.getIdade()
//Por aí vai, compara todos os campos, se algum "bater" vai retornar true xD
}
[/quote]
É mais ou menos assim:
[size=20]*[/size] Em algum lugar do seu programa (AlunoBO, sei la) você vai ter um método que filtra os alunos certo?
Eu supus que você tem uma coleção de alunos (um vetor, array, arraylist, etc…) com todos os alunos
Então, esse é o primeiro método ali, public List<Aluno> filtrar(Aluno aluno) retorna um List com todos os alunos que tem algum atributo igual ao aluno que ele recebe como parâmetro. Veja como usar esse método:
[code]…
//Aqui to pedindo para digitar os dados para fazer a busca
System.out.println(“Entre com os dados para realizar a busca”);
System.out.println("Nome: ");
String nome = console.read();
System.out.println("Matricula: ");
String matricula = console.read();
System.out.println("Idade: ");
int idade = console.readInt();
System.out.println("Curso: ");
String curso = console.read();
//Cria um aluno com os dados digitados pelo usuario e faz a pesquisa
Aluno pesquisa = new Aluno(matricula, nome, idade, curso);
List alunosQueSatisfazemAPesquisa = alunoBO.filtrar(pesquisa);
//Imprime os alunos que satisfazem a pesquisa
for(Aluno x : alunosQueSatisfazemAPesquisa){
System.out.println("Nome: "+ x.getNome());
System.out.println("Matricula: " + x.getMatricula());
System.out.println("Idade: " + x.getIdade());
System.out.println("Curso: " + x.getCurso());
}[/code]
Nesse caso o metodo filtrar estaria em uma classe AlunoBO, não sei onde você vai coloca-lo
Esse método deve comparar o aluno que foi criado com os dados que o usuario digitou com cada aluno que voce cadastrou, nesse caso supus que voce tem uma coleção de alunos, daí você vai passando em cada aluno e chamando o método match() em cada um
for(Aluno a : colecaoAlunos){
if(aluno.match(a))
correspondentes.add(a);
}
[size=20]*[/size]Esse outro método aí, match(), compara cada atributo do aluno e compara com o outro, caso algum for igual, ele retorna true
OBS: Eu não implementei completamente nada aqui, até porque não sei dos detalhes do seu projeto (se tem banco de dados, onde esses alunos estão salvos, o que o aluno tem/ etc… isso foi só uma idéia mesmo, para você ir continuando
Espero ter contribuído! []'s