Pesquisa em txt com hash set

4 respostas
G

Ola,

pesquisei por aqui e me ajudou como montar o codigo para pesquisa em txt, mas como uso uma hash set não consigo fazer imprimir o que eu quero

tenho um cadastro de aluno e tenho que procurar por matricula

crio a hash

HashSet alunos = new HashSet();

peço os dados e adiciono

Aluno al = new Aluno(matricula, nomeAluno, dataNasc, endereco, email);
alunos.add(al);

depois salvo no txt, ai funciona tranquilo

para a busca eu fiz isso

peço a matricula e faço o processo de abertura do txt e i while pra percorrer

try {
	      FileReader arq = new FileReader("aluno.txt");
	      BufferedReader lerArq = new BufferedReader(arq);

	      String linha = lerArq.readLine(); 
	      while (linha != null) {
			  if (matp = matricula)
			  {
	        System.out.printf("%s\n", linha); // acho que o problema esta aqui, se fosse um vetor seria mais facil. mas como imprimir somente 1 cadastro?
		}

	        linha = lerArq.readLine(); // lê da segunda até a última linha
	      }

	      arq.close();
	    } catch (IOException e) {
	        System.err.printf("Erro na abertura do arquivo: %s.\n",
	          e.getMessage());
    }

ele imprime todos os cadastros que estão no txt, como eu faço para imprimir um em especifico?

4 Respostas

E

“Um em específico” quer dizer o quê?

  1. Quero achar, no hashset, o aluno cuja matrícula é 1234. O número de matrícula é único.
  2. Quero achar o aluno José Maria de Jesus (mas há 2 alunos com esse nome)
G

um aluno em especifico pela sua matricula

vi que o hash set não é possivel pois ele não “posições”. é correto isso?

E

Não entendi o que você quis dizer.

G

eu salvei 2 alunos no txt

matricula 1
nome joao
cidade são paulo

matricula 2
nome pedro
cidade rio de janeiro

quando for procurar pela matricula, se eu digitar 1, quero que apareça

matricula 1
nome joao
cidade são paulo

e quando a hash set, vi que ele não é igual ao list por exemplo, No list voce pode mandar imprimir uma posição determinada ( joao ta na posição 1 e pedro na posição 2) mandaria imprimir a posição 1. No hash set pelo que eu vi, não tem como fazer isso

Criado 10 de abril de 2013
Ultima resposta 10 de abr. de 2013
Respostas 4
Participantes 2