StringIndexOutOfBoundsException?
Moin,
kann mir einer sagen was der Fehlercode bedeutet und wie ich diesen behebe?
Danke.
3 Antworten
![](https://images.gutefrage.net/media/user/TechnicGuru/1528488329071_nmmslarge__318_30_720_720_52d2a6b79bc14d57251f2291d386e778.jpg?v=1528488329000)
https://www.tutorialspoint.com/understanding-array-indexoutofboundsexception-in-chash
Du hast einen Index eingeben, der größer ist, als das Array/der String.
Da du die Zeilen nicht mit auf dem Screenshot hast, gehe ich davon aus, dass der Fehler in der for-Schleife liegt.
Indexe fangen in Java bei 0 an, wodurch du bei s.charAt(i) einen Fehler auslöst.
Zum andern gibt .length() die Anzahl der Zeichen an.
Durch den Index bei 0 musst du i < s.length() nehmen.
Beispiel mit "Hello World":
Length gibt 11 zurück, aber der Index geht von 0 bis 10.
Die Schleife startet bei 1 und geht bis 11, wodurch bei 11 die Exception auftritt, da der Index bei 10 endet.
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/default/user/11_nmmslarge.png?v=1551279448000)
Die Fehlermeldung bedeutet, dass du mit chatAt auf ein Element des Strings zugreifen willst, dass sich außerhalb der Grenzen des Strings befindet.
Das passiert, weil du i <= s.length() verwendest. Damit wird i vor dem Schleifenabbruch gleich der Länge des Strings und diese Position liegt außerhalb des Strings, da charAt bei 0 zu "zählen" beginnt.
Verwende daher i < s.length().
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/TechPech1984/1632773764038_nmmslarge__12_0_519_519_b8bdbc8023c4e7722d66db9f2af2d5fd.png?v=1632773764000)
i < s.length()
![](https://images.gutefrage.net/media/default/user/10_nmmslarge.png?v=1551279448000)