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

我不确定你的问题是什么,但我有几点意见:

  1. 如果用户输入了无法解析为 int 的内容,则会引发异常。使用 TryParse 解决此问题。

  2. 如前所述,如果用户输入大于 25 的数字,例如 26,则循环将退出。

修改后的代码:

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 回答
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 回答
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 回答
0
        int myNumber;

        Guess: Console.Write("Guess a number between 20 through 25: ");
        myNumber = int.Parse(Console.ReadLine());

            while(myNumber != 25)
            {
                Console.WriteLine("Keep Guessing");
                goto Guess;
            }
            Console.Write("Merry Christmas");

        Console.ReadKey();
于 2014-11-14T03:55:42.907 回答