Quizspiel programieren. Welche Schleife? Wie kann ich meinen Fehler debuggen?

1 Antwort

else if (name != null ) 

Die Bedingung ist IMMER erfüllt, wenn eine Eingabe erfolgt ist.
Dabei ist es unerheblich, ob die Eingabe korrekt ist oder nicht -> die Ausgabe wird zwangsläufig ausgelöst.
Die darauf folgende Bedingung

else if ((countries.get(i).hauptstadt).equals(name)) 

kommt gar nicht mehr zur Anwendung, da die vorherige Bedingung erfüllt wurde.

Gibt diverse Möglichkeiten, wie du das regeln kannst. Eine wäre, innerhalb des Else-Teils die Prüfung auf richtige oder falsche Eingabe einzufügen.

Beispiel

else if (name != null ) {
  if ((countries.get(i).hauptstadt).equals(name)){
      .... Code bei Eingabe und korrektem Namen}
  else { 
  .... Code bei Eingabe eines falschen Namens}
}

Alternativ musst du die Bedingungen deiner Abfragen kontrollieren, erweitern und in eine plausible Reihenfolge bringen.


coder73 
Fragesteller
 18.12.2022, 13:23

Vielen Dank!!

0