Frage von Sumsum09, 56

Programierungs Schwierigkeiten:Was ist mein Fehler?

Hier ist das besagte Program: http://pastebin.com/JCN7JEum Ich wil das der User wenn er etwas anderes als n oder j am ende eingibt die eingabe wiederholen muss wie mache ich das?

Antwort
von ceevee, 15
} while (eingabe1 !="N"||eingabe1 !="n");

Gehen wir mal die interessanten Fälle der Schleife durch:

eingabe1 = "N" -> "N" ist gleich "N", "N" ist ungleich "n". Die Schleifenabfrage lautet also (true ODER false). Das ergibt true.

eingabe1 = "n" -> "n" ist ungleich "N", "n" ist gleich "n". Die
Schleifenabfrage lautet also (false ODER true). Das ergibt true.

Eigentlich könntest du bei der Schleife eingeben, was du willst, die ist immer erfüllt - es gibt keinen Buchstaben, der gleichzeitig "N" und "n" ist. Deswegen hast du eine Endlossschleife. ;)

Richtig wäre also einfach

} while (eingabe1 !="N" && eingabe1 !="n");

oder kürzer

} while (eingabe1.toLower() != "n");
Kommentar von azmd108 ,

Exakt.

Keine passende Antwort gefunden?

Fragen Sie die Community