C#:尝试一个简单的项目

C#: trying a simple project

提问人: 提问时间:11/15/2008 最后编辑:JB King 更新时间:11/14/2014 访问量:918

问:

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

int number;

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

C# 初学者

C# while 循环

评论

0赞 kenny 11/15/2008
仅供参考:Console.ReadLine() 将要求用户输入一系列数字和 <enter> 键。

答:

1赞 Gavin Miller 11/15/2008 #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");

评论

0赞 JB King 11/22/2008
如果他们进入 26 岁怎么办?循环将在超过 25 的值时退出,并且仍然存在如果用户不输入任何内容怎么办的问题?
6赞 Erick B 11/15/2008 #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");
}
0赞 mannu 11/15/2008 #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 的数字,那将是正确的。

2赞 k...m 11/15/2008 #4

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

  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);
2赞 CodingWithSpike 11/15/2008 #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;
            }
        }
    }
0赞 Islam 11/14/2014 #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();