Antwort auf: Aber so gesehen funktioniert ja auch nextItem().
Du willst doch wohl eine Fallunterscheidung nicht mit dem suboptimalen Algorithmus von nextItem vergleichen.
Antwort auf: Deine Lösung reizt (wie oben geschrieben) zu einer überflüssigen philosophischen Diskussion, weil man einen Bruch entdeckt zu haben meint.
Deswegen habe ich einen Weg zur Umgehung des vermeidbaren Widerspruchs aufgezeigt: Nimm den referenzierten Absatz in die Zählung mit hinein. Dann braucht man nicht mehr lange hin und her zu unterscheiden und weiter zu grübeln.
DAS ist jetzt eher das, was zu philosopischen Diskussionen führen kann! Wenn DU lieber +1-1 rechnest, als den einzigen Fall, der mit Deinem ansonsten korrekten Algorithmus "anders" funktioniert, kannst Du das ja gerne machen.
ICH hingegen bevorzuge eine Ausnahmebehandlung zu Beginn einer Routine, weil ich dann mittendrin nicht immer +1-1 rechnen muss.
So hat halt jeder seine Vorlieben bezüglich der Programmierung.
Antwort auf: Außerdem spart man einige Tastenklicks (weil nur '+1' hinzugefügt werden muss und nicht 'if das ... else das ..').
Und Du bist doch sicherlich auch darum bemüht, die Tastatur möglichst wenig abzunutzen und und Finger zu schonen. ;-)
Naja, da scheiden sich eben die Geister. Der Eine spart gerne Klicks, der Andere hat's lieber gut lesbar.....
Aber ich wollte da jetzt ebenfalls keine riesen Diskussion entflammen. Ich hatte lediglich den "Sonderfall 0" beschrieben und wollte Deine Lösung nur ergänzen.
Wenn wir jetzt jedes Mal die 100 gangbaren Wege ausdiskutieren, dann sollte ich mir vielleicht ein paar Monate Urlaub nehmen. Denn das könnte länger dauern.... :)
Gruß,
Marc