Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

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, og er altså en meta-iteratorMeta-iteratorer er iteratorer som bruker andre iteratorer som datakilder. Se lysark om teknikken: Forelesningslysark om meta-iteratorer

StringMergingIterator har følgende konstruktør:

...

  • 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. 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.StringMergingIterator-koden finner du her: <lenke>. StringMergingIteratorProgram finner du her: <lenke>