3

私はC#が初めてです。ある種のループを使った簡単なプログラムを作りたかったのです。ユーザーが入力した数字をプログラムにループさせ、それが数字よりも小さい場合は推測し続けるようにしたかったのですが、数字25を入力したら、メリークリスマスと言って欲しかった..助けてください

int number;

do
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
}  while (number < 25);

C#初心者

4

6 に答える 6

6

次のことを試してください。

int number = 0;
while (number != 25)
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
    if (number != 25)
        Console.WriteLine("Keep guessing");
    else
        Console.WriteLine("Merry Christmas");
}
于 2008-11-14T19:20:04.740 に答える
2

入力を数値として使用する予定がない場合は、「25」を正確にチェックするだけなので、文字列のままにしておく方が安全です。また、たとえば空白行を入力するなど、25を入力せずに終了する方法を追加すると、ユーザーにとって便利です。

これが私がそれを書く方法です:

    static void x()
    {
        Console.WriteLine("Guess a number between 20 through 25");
        string input = null;
        while(true)
        {
            input = Console.ReadLine();
            if (input == null || input.Length == 0)
                break; // will exit the loop
            if (input != "25")
                Console.WriteLine("Keep guessing");
            else
            {
                Console.WriteLine("Merry Christmas");
                break;
            }
        }
    }
于 2008-11-14T19:53:44.673 に答える
2

あなたの質問が何であるかはわかりませんが、いくつかコメントがあります。

  1. ユーザーがintとして解析できないものを入力すると、例外がスローされます。TryParseを使用してこれを修正します。

  2. 記述されているように、ユーザーが26などの25より大きい数値を入力すると、ループは終了します。

変更されたコード:

int number;
do
{
    Console.WriteLine("Guess a number between 20 through 25");
    int.TryParse(Console.ReadLine(), out number);
} while (number != 25);
于 2008-11-14T19:22:03.580 に答える
1
int number;

do
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
} while (number < 25);

if (number == 25)
    Console.WriteLine("Merry Christmas");
于 2008-11-14T19:17:59.893 に答える
0
int number;

do
{
    Console.WriteLine("Guess a number between 20 through 25");
    number = int.Parse(Console.ReadLine());
} while (number != 25);

Console.WriteLine("Merry Christmas");

25より大きい数字を入力できるようにしたい場合は、正しいでしょう。

于 2008-11-14T19:21:53.520 に答える