mete-eve
Goto Top

leerer string feststellen

Hallo Leute,
ich habe ein Probelm und komme einfach nicht dahinter.

if(teil[4].length() == 0) das ist zeile 41
{
Ausgabe der Eingabe
System.out.println("Eingabe: "+IPAdresse);
}
else
{
System.out.println("Fehler in der Eingabe!");
}


Wenn teil[4] keine Zeichen enthält soll es meine Eingabe ausgeben, ansonsten eine Fehlermeldung.
Für gewöhnlich sollte der String leer sein, da eine IP bei mir aus teil.teil[1].teil[2].teil[3] besteht.


Meine Fehlermeldung: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 at forum.main[forum.java:41)


Bin über jede hilfe dankbar.

Content-Key: 66152

Url: https://administrator.de/contentid/66152

Printed on: April 24, 2024 at 13:04 o'clock

Member: Dani
Dani Aug 14, 2007 at 09:37:31 (UTC)
Goto Top
Hallo!
Meine Fehlermeldung: Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException: 4 at forum.main[forum.java:41)
Spricht eigentlich für sich: ArrayIndexOut...Sprich das Element 4 gibt es einfach nicht! Sprich du solltest nicht pürfen, ob es leer ist sondern wie groß das Feld ist.


Grüße
Dani
Member: SlainteMhath
SlainteMhath Aug 14, 2007 at 09:41:12 (UTC)
Goto Top
Das Problem ist, das teil[4] nicht existiert (IndexOutOfBounds). Frag einfach ab, wie groß das Array ist.
Member: mete-eve
mete-eve Aug 14, 2007 at 09:41:21 (UTC)
Goto Top
Ok. Habe aber keine Ahnung wie ich das machen soll.
Member: AndreasHoster
AndreasHoster Aug 14, 2007 at 10:07:30 (UTC)
Goto Top
In einem Java Buch nachlesen?

Die Länge eines Array bekommst Du mittels teil.length
Und nicht vergessen: Arrays fangen mit 0 an, ein Array der Länge 4 geht also nur bis 3.
Member: Kallinger
Kallinger Aug 14, 2007 at 10:39:26 (UTC)
Goto Top
Hi,

*.length

oder halt dein Array ...

__
Grüße Kallinger
Member: Chephren
Chephren Aug 16, 2007 at 16:01:32 (UTC)
Goto Top
Hallo,

ist eigentlich ganz einfach:
Eine IndexArrayOutOfBoundsException erhält man, wenn man auf Elemente eines Arrays zugreift, die nicht definiert sind.
Definiere ich also teil als String[4], so gibt es nur die Elemente 0 bis 3.

Dann sollte aber teil[4] nie existieren und die Abfrage ist überflüssig.
Im Zweifel (Ich kenne ja den Rest des Codes nicht) hilft aber:

if(teil.length > 4 && teil[4].length() == 0) // das ist zeile 41