Hab jetzt die Null-Abfrage in der ersten if-Abfrage reingefügt, aber es wird noch eine Exception bei der zweiten For-Schleife gezeigt, aber die Methode müsste doch bei der ersten for-Schleife enden, zutaten=null ist und garnicht weiterlaufen
Ich verstehe zwar, was du schreibst, aber stehe völlig auf dem Schlauch was geändert werden muss.
Also nochmals:
Die For-Schleife wird durchlaufen und sobald eine zutat=null ist, wird bei diesem Feld garnicht die Anzahl geprüft und der nächste Schleifen-Durchlauf beginnt. Und hier sollte das Problem liegen. Also wenn ein Feld null ist, soll schon die Methode abgebrochen werden.
Ich verstehe zwar, was du schreibst, aber stehe völlig auf dem Schlauch was geändert werden muss.
Also nochmals:
Die For-Schleife wird durchlaufen und sobald eine zutat=null ist, wird bei diesem Feld garnicht die Anzahl geprüft und der nächste Schleifen-Durchlauf beginnt. Und hier sollte das Problem liegen. Also wenn ein Feld null ist, soll schon die Methode abgebrochen werden.
Die erste Schleife soll abgebrochen werden, wenn die Anzahl zu gering ist. Bei null-Werten soll sie nicht abbrechen, das sind ja einfach nur freie Plätze für Zutaten.
In der zweiten Schleife musst du vor dem Zugriff auf die Methode nur prüfen, ob kein null-Wert vorliegt. Also einfach noch eine if-Abfrage.
Ist ganz in Ordnung, wie es ist. Die Einstellung für Code=Java macht es noch etwas leichter lesbar, aber ok.
Kein Fehler, aber ein Hinweis (schon wieder): Verwende bei if-Abfragen grundsätzlich geschweifte Klammern, auch wenn es hier im zweiten fall nicht notwendig ist. Du ersparst dir dadurch Fehler, wenn du mal noch eine weitere Anweisung ranhängen willst und dich danach wunderst, warum es nicht funktioniert.
Ist ganz in Ordnung, wie es ist. Die Einstellung für Code=Java macht es noch etwas leichter lesbar, aber ok.
Kein Fehler, aber ein Hinweis (schon wieder): Verwende bei if-Abfragen grundsätzlich geschweifte Klammern, auch wenn es hier im zweiten fall nicht notwendig ist. Du ersparst dir dadurch Fehler, wenn du mal noch eine weitere Anweisung ranhängen willst und dich danach wunderst, warum es nicht funktioniert.
Das mache ich im Grunde auch, aber war einfach nach dem 100sten Test mega gespannt, was nun bei rumkommt.
Gibt es sonst noch Tipps, die ich als Einsteiger berücksichtigen kann?
Außerdem: Vielen Dank für die Hilfe. Ich war zwar durch die Antworten in einigen anderen Beiträgen etwas abgeschreckt, aber ich glaube da haben die Fragenden auch etwas Eigeninitiative vermissen lassen. Ihr habt mich jetzt jedenfalls an der Backe, weil ich nie und nimmer gedacht hätte, dass da noch so gravierende Fehler im Code sind und im Grunde sollte man irgendwann in der Lage sein sowas zu erkennen ohne irgendwelche Tests. Ihr habt da sehr geholfen
Mit diesem Stück Code kann man zufrieden sein. NullPointerExceptions sind einer der häufigsten Fehler beim Programmieren. Immer dran denken, dass man da ggf. vorher prüfen muss. Streng genommen hätte man auch noch den übergebenen Parameter ganz am Anfang darauf prüfen müssen. Das wird aber in den Tests anscheinend nicht berücksichtigt.