Verschachtelte For-Schleife gibt falschen Wert zurück, Abbruchbedingung evtl. falsch?

Tortenheber

Mitglied
Guten Tag, die Methode soll prüfen, ob zum einen die richtigen Materialien vorhanden sind (erste if Abfrage) und wenn ja, auch genügen davon vorhanden sind (2. if Abfrage). Die Mengen Abfrag funktioniert ohne Probleme und liefert mir die richtigen true bzw. false Werte. Die Abfrage der Strings funktioniert leider jedoch nur für den jeweils ersten Eintrag. Ich bin noch ziemlich grün hinter den Ohren und finde meinen Fehler nicht.

Bildschirmfoto 2022-11-27 um 19.10.42.pngBildschirmfoto 2022-11-27 um 19.10.56.png
 
Also die Bennung der ganzen Variable und Methoden ist dermaßen Wirr, dass es überhaupt keinen Spaß macht da durchzusteigen.

Wenn ich mich nicht täusche kann der Code nur in drei verschiedenen Fällen false ausgeben. Und das lässt sich sehr schnell debuggen.

Also Zeit zu lernen den Debugger zu verwenden.
 
Der Variablen-Salat tut mir leid, werde da in Zukunft ordentlicher arbeiten. Was ich nicht verstehe ist, dass nur true zurückgegeben werden soll, wenn String und int übereinstimmen. In dem gezeigten Beispiel stimmt ja der erste String und die Menge also true als Rückgabewert. Dann wird ja der Zähler der äußeren For Schleife erhöht, hier stimmen die Strings jetzt nicht mehr überein und trotzdem bricht die Schleife nicht ab? Das kann ich mit meinem dünnen Wissen nicht nachvollziehen. Ansonsten bedankt für deine Antwort.
 
Der Variablen-Salat tut mir leid, werde da in Zukunft ordentlicher arbeiten.
Nur noch als Hinweis: Die Zukunft ist sehr nahe. In deiner IDE kannst du die Variablen auch gleich per Refactoring umbenennen, dann fällt schneller auf, wenn sie irgendwo verwendet werden, wo sie nicht sein sollen.

ps: Anstatt Screenshots bitte den Code in Codetags posten.
 

Zurück
Oben