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-ID: 66152

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

Ausgedruckt am: 23.11.2024 um 05:11 Uhr

Dani
Dani 14.08.2007 um 11:37:31 Uhr
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
SlainteMhath
SlainteMhath 14.08.2007 um 11:41:12 Uhr
Goto Top
Das Problem ist, das teil[4] nicht existiert (IndexOutOfBounds). Frag einfach ab, wie groß das Array ist.
mete-eve
mete-eve 14.08.2007 um 11:41:21 Uhr
Goto Top
Ok. Habe aber keine Ahnung wie ich das machen soll.
AndreasHoster
AndreasHoster 14.08.2007 um 12:07:30 Uhr
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.
Kallinger
Kallinger 14.08.2007 um 12:39:26 Uhr
Goto Top
Hi,

*.length

oder halt dein Array ...

__
Grüße Kallinger
Chephren
Chephren 16.08.2007 um 18:01:32 Uhr
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