Entwickler-Ecke
Basistechnologien - 3fache Ausgabe in Schleife - versteh ich nicht!
FabianClassen - Di 16.06.09 21:39
Titel: 3fache Ausgabe in Schleife - versteh ich nicht!
Hi
ich habe folgende Schleife:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| while(eingabe != 'n' && eingabe != 'y') { eingabe = (char)(Console.Read()); if (eingabe != 'y' && eingabe != 'n') { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Achtung: Falsche Eingabe!"); Console.ForegroundColor = ConsoleColor.White; } } |
In ihr soll einfach nur überprüft werden, ob der Nutzer 'y' für "yes" oder 'n' für "no" eingibt.
Bei einer falschen Eingabe wird obwohl ich nur einmal diese Ausgabe will, dreimal "Achtung: Falsche Eingabe" ausgegeben.
Aber wieso das so ist, verstehe ich nicht ;)
Ich hoffe ihr könnt mir helfen.
MFG
Fab
;)
jaenicke - Di 16.06.09 21:46
Ich nehme an die beiden Zeilenumbruchszeichen kommen noch dazu und werden in den beiden weiteren Durchläufen gelesen. ;-)
FabianClassen - Di 16.06.09 21:48
Kann ich die denn irgendwie löschen?
In C++ wäre das ja z.B.
MFG
Fab
;)
jaenicke - Di 16.06.09 21:53
Ich würde es so machen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| string eingabe = ""; while (eingabe != "n" && eingabe != "y") { eingabe = Console.ReadLine(); if (eingabe != "y" && eingabe != "n") { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine("Achtung: Falsche Eingabe!"); Console.ForegroundColor = ConsoleColor.White; } } |
FabianClassen - Di 16.06.09 21:57
Danke
jetzt klappt es prima ;)
MFG
Fab
;)
JüTho - Mi 17.06.09 09:25
Da du sowieso nur ein Zeichen (eine Taste) abfragen willst, halte ich Console.ReadKey() für besser geeignet. Jürgen
jaenicke - Mi 17.06.09 09:28
Dann kommt die Eingabe allerdings sofort an und der Benutzer kann nicht noch korrigieren. Wenn das so gewünscht ist, ist das natürlich passender.
Üblich ist meistens jedoch, dass man erst mit Enter bestätigen muss. Und in den meisten Fällen finde ich das auch besser.
JüTho - Mi 17.06.09 09:31
jaenicke hat folgendes geschrieben : |
Üblich ist meistens jedoch, dass man erst mit Enter bestätigen muss. Und in den meisten Fällen finde ich das auch besser. |
Gut, du hast recht, in den meisten Fällen... Jürgen
FabianClassen - Mi 17.06.09 12:25
Danke ihr beiden ;)
MFG
Fab
;)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!