Tenho que fazer um cadastro de alunos usando uma hashset que salva em txt e pesquisar pela matricula do aluno depois. consigo listar todos e adicionar
meu programa esta assim
uma classe aluno com seu construtor, gets e sets
a classe adiciona eu declaro o hashset
HashSet alunos = new HashSet();
peço os dados e faço o tratamento para gravar em arquivo
Aluno al = new Aluno(matricula, nomeAluno, dataNasc, endereco, email);
alunos.add(al);
FileWriter arq = new FileWriter("aluno.txt",true);
PrintWriter gravarArq = new PrintWriter(arq);
gravarArq.printf("\n Matricula %d \n Nome %s \n Data %s \n Endereco %s \n Email %s",matricula,nomeAluno,dataNasc, endereco, email);
arq.close();
ate aqui funciona bem, o que não sei é como fazer para pesquisar. por exemplo quando achar, ele imprime o que?
esta assim a parte da busca
boolean achou = false;
int matp;
System.out.print("\nDigite a matricula para busca \n");
matp = Integer.parseInt(ler.nextLine());
try {
FileReader arq = new FileReader("aluno.txt");
BufferedReader lerArq = new BufferedReader(arq);
String linha="";
while ((linha = lerArq.readLine()) != null) {
if (linha.equals(matp)) {
System.out.printf("%s\n",linha);
achou = true;
}
}
aqui ele imprime tudo, foi o que eu usei para fazer a listagem de todos., mas queria que ele imprimesse só 1 aluno
exemplo
matricula 1
nome joao
matricula 2
nome pedro
quando digitar a matricula 2, imprima
matricula 2
nome pedro