Programierungs Schwierigkeiten:Was ist mein Fehler?

...komplette Frage anzeigen

1 Antwort

} 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");
Antwort bewerten Vielen Dank für Deine Bewertung
azmd108 14.08.2016, 19:22

Exakt.

0

Was möchtest Du wissen?