Estou tentando ler os atores presentes em cada filme, porém atores.size() retorna 109, alguem sabe pq?
Hashtableatores=newHashtable();
Scanner f = new Scanner(new File("input-top-grossing.txt"));
while (f.hasNext())
{
String linha = f.nextLine();
String[] elementos = linha.split("/");
for (int i = 1; i < elementos.length; i++)
{
Vector filmeAtor = new Vector();
atores.put(elementos[i], filmeAtor);
}
}
System.out.println(atores);
System.out.println(atores.size());
}
Rodei o seu código com o seu arquivo, e pra mim foram adicionados 8264 atores.
Não alterei nenhuma linha de código, só adicionei o bloco try/catch para tratar a FileNotFoundException
what?? pq try e catch resolve o problema? :shock:
Magias do java kkkk
Não é que resolve o problema, ele não compila se a exceção não for tratada, acho que o autor não colocou o try/catch no post por algum motivo, talvez ele tenha usado throws.
denisspitfire
a questão é porque volta 109 e nao o valor correto
denisspitfire
aqui também deu 9921
Rodrigo_Sasaki
Vocês estão pegando o nome dos filmes também, note que ele começa a iteração no 1, e não no 0.
denisspitfire
aff nem percebi passei direto no detalhe
Rodrigo_Sasaki
E é um Hashtable também, se houverem atores repetidos, eles não serão incluídos mais de uma vez.
denisspitfire
tenho um disparador de e-mail, ele esta enviando os e-mails apartir de um result set, seria melhor usar um hashtable ou dar ja um select pegando só valores nao repetidos?
Rodrigo_Sasaki
Se você quiser evitar repetição de dados, e a ordem dos dados não importa pra você, eu sugiro que use coleções Hash, pois são até mais rápidas.
H
Hyzek
digaoneves:
Rodei o seu código com o seu arquivo, e pra mim foram adicionados 8264 atores.
Não alterei nenhuma linha de código, só adicionei o bloco try/catch para tratar a FileNotFoundException
digao, meu codigo ta assim
publicstaticvoidmain(String[]args){// TODO code application logic here Hashtableatores=newHashtable();try{Scannerf=newScanner(newFile("input-top-grossing.txt"));while(f.hasNext()){Stringlinha=f.nextLine();String[]elementos=linha.split("/");for(inti=1;i<elementos.length;i++){VectorfilmeAtor=newVector();atores.put(elementos[i],filmeAtor);}}}catch(IOExceptione){System.out.print("Erro na abertura do arquivo!");}//System.out.println(atores); System.out.println(atores.size());}
porem retorna 109 como tamanho oO
Rodrigo_Sasaki
Hyzek:
digaoneves:
Rodei o seu código com o seu arquivo, e pra mim foram adicionados 8264 atores.
Não alterei nenhuma linha de código, só adicionei o bloco try/catch para tratar a FileNotFoundException
digao, meu codigo ta assim
publicstaticvoidmain(String[]args){// TODO code application logic here Hashtableatores=newHashtable();try{Scannerf=newScanner(newFile("input-top-grossing.txt"));while(f.hasNext()){Stringlinha=f.nextLine();String[]elementos=linha.split("/");for(inti=1;i<elementos.length;i++){VectorfilmeAtor=newVector();atores.put(elementos[i],filmeAtor);}}}catch(IOExceptione){System.out.print("Erro na abertura do arquivo!");}//System.out.println(atores); System.out.println(atores.size());}
porem retorna 109 como tamanho oO
Só pra desencargo de consciência tente com BufferedReader.
Rodei o seu código com o seu arquivo, e pra mim foram adicionados 8264 atores.
Não alterei nenhuma linha de código, só adicionei o bloco try/catch para tratar a FileNotFoundException
digao, meu codigo ta assim
publicstaticvoidmain(String[]args){// TODO code application logic here Hashtableatores=newHashtable();try{Scannerf=newScanner(newFile("input-top-grossing.txt"));while(f.hasNext()){Stringlinha=f.nextLine();String[]elementos=linha.split("/");for(inti=1;i<elementos.length;i++){VectorfilmeAtor=newVector();atores.put(elementos[i],filmeAtor);}}}catch(IOExceptione){System.out.print("Erro na abertura do arquivo!");}//System.out.println(atores); System.out.println(atores.size());}
porem retorna 109 como tamanho oO
Só pra desencargo de consciência tente com BufferedReader.