Oppgaven handler om feilsøking ("debugging") av en Iterator-implementasjon.
Klassen StringMergingIterator implementerer grensesnittet Iterator<String>, og leverer annenhver verdi fra to andre iteratorer av typen Iterator<String>. Denne iteratoren fletter altså verdiene fra to andre gitte iteratorer.
StringMergingIterator har følgende konstruktør:
- StringMergingIterator(Iterator<String> first, Iterator<String> second)
Siden klassen implementerer Iterator<String> har den også følgende metoder:
- boolean hasNext() - returnerer true dersom iteratoren har flere verdier, false dersom det ikke er flere verdier.
- String next() - returnerer den neste verdien fra iteratoren, eller utløser et NoSuchElementException dersom iteratoren er tom.
I denne oppgaven blir en implementasjon av StringMergingIterator sammen med et testprogram utdelt, men i implementasjonen av klassen har vi plantet en eller flere feil.
StringMergingIterator-koden finner du her: <lenke>. StringMergingIteratorProgram finner du her: <lenke>
Målet for oppgaven er å finne feilene i implementasjonen ved hjelp av debuggeren i Eclipse. Kjør programklassen i debug-modus, og bruk dette til å finne ut hvor StringMergeIterator gjør feil. Dersom programklassen lykkes med å få en flettet strøm med verdier har du funnet alle feilene.