番目のステートメントに移動する前に最初の文を3回ループこれを行う-ながら、C#でコンソールアプリでループ:C#のループは、私が書いてきた
do
{
ThisHelp.ShowMenu();
userChoice = (char) Console.Read();
ThisHelp.Helpon(userChoice);
}while(ThisHelp.IsValid(userChoice) == false);
書き込み+ WriteLineメソッドのちょうど束を持っているThisHelp.ShowMenu()
方法メソッドには、ユーザーに1から8までの数値を入力するよう要求されます。 メソッドThisHelp.Helpon()
には、渡されたユーザー入力に応じて異なるテキストが表示されるスイッチがあります。 だけユーザ入力が1から8
の数がここで問題だされていることを確認ThisHelp.IsValid
方法:ユーザが番号を書き込み、プレスが入力すると、ループの最初の文は、第二の文を実行する前に3回実行少なくとも一度は。なぜこうなった?
編集:
public bool IsValid(char ch)
{
if (ch < '1' | ch > 8 & ch != 'q') return false;
else return true;
}
をあなたは代わりに ''(文字)Console.Read() ' –
いけないのあなたが'実行する前に入力を検証する必要が 'int.Parse(Console.ReadLine())を使用する必要がありますThisHelp.Helpon(userChoice); 'メソッド? – DCruz22
@ DCruz22ユーザが無効な文字を入力した場合、 'ThisHelpon(userChoice);'メソッドは何も出力せず、実行が意図したとおりにループから飛び出します。私は別のやり方でそれを行うことができましたが、演習ではdo-whileループを使用する必要がありました。 –