Originariamente inviato da eddy_91
ciao a tutti, mi sono trovato a combattere con un Iterator..e ne sono uscito perdente..
il problema è questo:
codice:
int riconosciFrase(Iterator<String> frase)throws IOException{
int count=0;
String parola;
while(frase.hasNext()){
parola=frase.next();
if(cercaParola(parola)){
count++;
}
}
return count;
}
quello che mi chiedo è..come faccio a passare al metodo cercaParola anche la prima parola della frase?!?
perchè facendo così come ha scritto il prof la String parola=frase.next() [che se non ho capito male dovrebbe essere la seconda parola] e la prima?!
sicuramente non ho capito il metodo hasNext() e il metodo next() perchè ho delle incongruenze tra quello che ci ha spiegato il prof e quello che c'è scritto nel javadoc. da quello che pensavo di aver capito a lezione, hasNext() ritorna true se dopo l'elemento a cui punta Iterator c'è un altro elemento, e invece next() assegna il valore a cui punta l'Iterator e DOPO passa al successivo. invece nel javadoc, da quello che ho capito, hasNext() è giusto quello che ho capito, mentre next() returna l'elemento successivo a quello cui punta iterator. mi potete dire quale delle due è giusta.
mi ci sto impiccando. perchè se è giusta quella del prof, secondo me, invece della prima parola il metodo cercaParola non viene invocato sull'ultima. che ne pensate? grazie in anticipo per la pazienza!