ciao a tutti, mi sono trovato a combattere con un Iterator..e ne sono uscito perdente..![]()
il problema è questo:
quello che mi chiedo è..come faccio a passare al metodo cercaParola anche la prima parola della frase?!?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; }![]()
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!

Rispondi quotando