Ich mache gerade eine Übungsaufgabe und verzweifle gerade an dieser Exception. Ich kann nicht nachvollziehen warum die Exception geworfen wird? Hat jemand eine Idee.
________________________________________________________________________________________
________________________________________________________________________________________
Ausgabe:
Die Aufgabenstellung: Implementieren Sie die Klasse Zeichenkette
Ein Objekt der Klasse Zeichenkette liefert nacheinander alle Zeichen der Zei- chenfolge meineZeichenkette.
Der Aufruf von hatNochElement() liefert true, wenn es noch Zeichen in der Kette gibt, ansonsten wird false zurückgeliefert.
Der Aufruf von naechstesElement() liefert das nächste Zeichen an den Auf- rufer und rückt mit pos eine Stelle weiter.
Die main Methode darf ich nicht verändern.
Java:
public class Zeichenkette implements Aufzaehlung {
protected String meineZeichenkette;
protected int pos;
public Zeichenkette(String meineZeichenkette) {
this.meineZeichenkette = meineZeichenkette;
}
public boolean hatNochElement() {
return meineZeichenkette.charAt(pos) > 0 ? true : false;
}
public Object naechstesElement() {
return meineZeichenkette.charAt(pos++);
}
}
Java:
public interface Aufzaehlung {
public boolean hatNochElement();
public Object naechstesElement();
}
________________________________________________________________________________________
Java:
public class AufzaehlungTest {
public static void main(String[] args) {
Aufzaehlung kette = new Zeichenkette("Dies ist eine Zeichenkette");
while (kette.hatNochElement())
System.out.print(kette.naechstesElement() + " ");
}
}
Java:
D i e s i s t e i n e Z e i c h e n k e t t e Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 26
at java.lang.String.charAt(String.java:686)
at Zeichenkette.hatNochElement(Zeichenkette.java:11)
at AufzaehlungTest.main(AufzaehlungTest.java:6)
Ein Objekt der Klasse Zeichenkette liefert nacheinander alle Zeichen der Zei- chenfolge meineZeichenkette.
Der Aufruf von hatNochElement() liefert true, wenn es noch Zeichen in der Kette gibt, ansonsten wird false zurückgeliefert.
Der Aufruf von naechstesElement() liefert das nächste Zeichen an den Auf- rufer und rückt mit pos eine Stelle weiter.
Die main Methode darf ich nicht verändern.
Zuletzt bearbeitet: