como ficaria esse código abaixo usando Hashtable? eu tentei fazer, mas não consegui…
importjava.io.*;importjava.util.StringTokenizer;publicclassabc{publicvoidCadastrar()throwsIOException{Bibliotecax=newBiblioteca();Stringdados;dados=x.Ler();Stringvetor[]=newString[5];intc=0;BufferedReaderler=newBufferedReader(newInputStreamReader(System.in));System.out.println("\nDigite o Nome: ");vetor[0]=ler.readLine();System.out.println("\nDigite o CPF: ");vetor[1]=ler.readLine();System.out.println("\nDigite o Endereço: ");vetor[2]=ler.readLine();System.out.println("\nDigite o Telefone: ");vetor[3]=ler.readLine();System.out.println("\nDigite o Nascimento: ");vetor[4]=ler.readLine();dados+=vetor[0]+";"+vetor[1]+";"+vetor[2]+";"+vetor[3]+";"+vetor[4];}
...Hashtableh=newHashtable();System.out.println("\nDigite o Nome: ");h.put("nome",ler.readLine());System.out.println("\nDigite o CPF: ");h.put("cpf",ler.readLine());System.out.println("\nDigite o Endereço: ");h.put("endereco",ler.readLine());....dados+=h.get("nome")+";"+h.get("cpf")+";"+h.get("endereco")...
BrunoBastosPJ
o problemas nesse codigo é que se você tentar gravar mais de 1 nome ele substitui…
Y
YakkoPJ
olha só, alterei o programa e com esses dados que você passou, o programa compilou, só que tá dando um problema no “busca”
segue o código do programa:
importjava.io.*;importjava.util.StringTokenizer;importjava.util.Hashtable;publicclassabc{publicvoidCadastrar()throwsIOException{Bibliotecax=newBiblioteca();Stringdados;dados=x.Ler();Stringvetor[]=newString[5];intc=0;BufferedReaderler=newBufferedReader(newInputStreamReader(System.in));Hashtableh=newHashtable();System.out.println("\nDigite o Nome: ");h.put("nome",ler.readLine());System.out.println("\nDigite o CPF: ");h.put("cpf",ler.readLine());System.out.println("\nDigite o Endereço: ");h.put("endereco",ler.readLine());System.out.println("\nDigite o Telefone: ");h.put("telefone",ler.readLine());System.out.println("\nDigite o Nascimento: ");h.put("nascimento",ler.readLine());dados+=h.get("nome")+";"+h.get("cpf")+";"+h.get("endereco")+h.get("telefone")+";"+h.get("nascimento");dados+=vetor[0]+";"+vetor[1]+";"+vetor[2]+";"+vetor[3]+";"+vetor[4];}publicstaticvoidmain(Stringargs[])throwsIOException{Bibliotecax=newBiblioteca();BufferedReaderler=newBufferedReader(newInputStreamReader(System.in));intc;StringNome[];do{c=x.menu_select();switch(c){case1:x.Cadastrar();break;case2:x.Listar();break;case3:Nome=x.Buscar();System.out.println("Nome: "+Nome[0]+"\nCPF: "+Nome[1]+"\nEndereco: "+Nome[2]+"\nTelefone: "+Nome[3]+"\nNascimento: "+Nome[4]);break;case4:System.exit(0);}}while(c!=4);}publicintmenu_select()throwsIOException{BufferedReaderler=newBufferedReader(newInputStreamReader(System.in));Stringc;inta;System.out.println("\n 1. Cadastrar");System.out.println(" 2. Listar");System.out.println(" 3. Buscar");System.out.println(" 4. Sair\n");do{System.out.print("Informe sua escolha: ");c=ler.readLine();a=Integer.parseInt(c);}while(a<0||a>4);returna;}publicvoidListar(){Bibliotecax=newBiblioteca();StringV[]=x.AbrirArquivo();intc=0,contador=0;System.out.println("Nome\tCPF\tEndereço\tCor\tNascimento");while(c<V.length){StringTokenizercapturador=newStringTokenizer(V[c],";");StringleitorDados[]={"","","","",""};while(capturador.hasMoreTokens()){leitorDados[contador]=capturador.nextToken();contador++;}System.out.println(leitorDados[0]+"\t"+leitorDados[1]+"\t"+leitorDados[2]+"\t\t"+leitorDados[3]+"\t"+leitorDados[4]);c++;contador=0;}}publicString[]Buscar()throwsIOException{BufferedReaderler=newBufferedReader(newInputStreamReader(System.in));Bibliotecax=newBiblioteca();StringV[]=x.AbrirArquivo();StringV2[]=newString[5];Stringc;inti=0,contador=0;System.out.println("Informe o nome para a busca: ");c=ler.readLine();while(i<V.length){StringTokenizercapturador=newStringTokenizer(V[i],";");StringleitorDados[]={"","","","",""};while(capturador.hasMoreTokens()){leitorDados[contador]=capturador.nextToken();contador++;}if(leitorDados[0].equalsIgnoreCase(c)){V2=leitorDados;break;}i++;}returnV2;}}
quando eu digito o nome para busca aprece o seguinte: