String in String-Array finden

KaktusJack

Mitglied
Hallo miteinander,
ich bin im Moment dabei eine Aufgabe fürs Studium zu lösen, aber ich stehe gerade bei einem teil auf dem Schlauch.

Mit
StringFIFO s2 = new StringFIFO(3);

erstelle ich ein Objekt der Klasse StringFIFO das mit dem aufgerufenen Konstruktor ein Stringarray mit der angegeben Zahl an "feldern" generiert.

Mit s2.push("Hallo");
s2.push("Welt");

beschreibe ich jeweils immer das nächst leere Feld.

Jetzt zum eigentlichen Problem:

Die Methode:

public int find(String aString){

for(int i = 0; i < elements.length; i++){

if(elements.equals(aString) == true){
return i;
}
}
return -1;
}

soll überprüfen ob der übergebene String im Array steht und falls ja die Stelle im Array zurückgeben an welcher er gespeichert ist. Das funktioniert auch soweit wenn ich einen String übergebe der drinsteht.
Gebe ich einen String ein der nicht drin steht sollte mir -1 zurückgegeben werden, das will aber leider nicht funktioneren.
Stattdessen bekomme ich die Meldung

Exception in thread "main" java.lang.NullPointerException
at StringFIFO.find(StringFIFO.java:53)
at StringFIFO.main(StringFIFO.java:95)

ausgespuckt und ich weiß nicht warum. :bahnhof:

Ich hoffe ihr könnt mir helfen
Gruß
KaktusJack
 
Ich kann nur was dazu schreiben, wenn ich die ganze Klasse StringFIFO sehe. Ich vermute, du hast die Zeiger vergessen, wo die Daten anfangen und wo sie aufhören. Ein FIFO ist ein 2-Finger-System. Der eine Finger zeigt dort hin, wo die Daten anfangen, der andere Finger, wo sie aufhören. Und nur in diesem Bereich solltest du dann vergleichen.
 
Zuletzt bearbeitet:

Neue Themen


Zurück
Oben