【问题标题】:C#: trying a simple projectC#:尝试一个简单的项目
【发布时间】:2010-09-22 09:46:39
【问题描述】:

我是 C# 新手。我想做一个带有某种循环的简单程序。 我希望我的程序循环遍历用户输入的数字,如果它小于一个数字,则继续猜测,但是一旦他们输入数字 25,我希望它说圣诞快乐.. 请帮助

int number;

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

C#初学者

【问题讨论】:

  • 仅供参考:Console.ReadLine() 将要求用户输入一系列数字和 键。

标签: c# while-loop


【解决方案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");

【讨论】:

  • 如果他们输入 26 怎么办?循环将在超过 25 的值时退出,如果用户不输入任何内容会怎样?
【解决方案2】:

尝试以下方法:

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");
}

【讨论】:

    【解决方案3】:
    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 的数字,那将是正确的。

    【讨论】:

      【解决方案4】:

      我不确定你的问题是什么,但我有几个 cmets:

      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);
      

      【讨论】:

        【解决方案5】:

        如果您永远不会将输入用作数字,则将其保留为字符串会更安全,特别是因为您只检查“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;
                    }
                }
            }
        

        【讨论】:

          【解决方案6】:
                  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-18
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-12-23
            • 2016-03-19
            • 1970-01-01
            • 2016-11-10
            相关资源
            最近更新 更多