随机生成器问题

时间:2014-02-16 02:12:03

标签: c#

如何制作一个能产生1-10之间随机数的应用程序,然后让用户猜出该数字,如果该数字与随机数相匹配,请告诉他们是否正确!

我是一名学生,就像超级新生一样,因为手术而在课堂上停留了几天,我无法想象我的生活!

这就是我为这个问题想出来的。

namespace GuessingGame
{
   class Program
   {
        static void Main(string[] args)
        {
            int min = 1;
            int max = 10;    
            Random ranNumberGenerator = new Random();
            int randomNumber;
            randomNumber = ranNumberGenerator.Next(min, max);
            Console.WriteLine("Guess a random number between 1 and 10.");
            Console.ReadLine();
            if (randomNumber == randomNumber)
                Console.WriteLine("You got it!");
            else
                Console.WriteLine("Sorry, try again!");
        }
    }
}

2 个答案:

答案 0 :(得分:6)

Next方法的上限是独占的,所以你想使用11而不是10:

randomNumber = ranNumberGenerator.Next(min, max + 1);

您忽略了用户的输入。捕获字符串:

string input = Console.ReadLine();

然后将输入解析为数字:

int number = Int32.Parse(input);

现在您可以将该数字与随机数进行比较。


如果您想以比崩溃更友好的方式处理来自用户的错误输入,您可以使用TryParse来尝试解析该号码。

答案 1 :(得分:0)

您已关闭,但您需要存储用户答案。你的方式永远都会回归真实。

var guess = Console.ReadLine();

然后你可以比较

if (Convert.ToInt32(guess) == randomNumber)

最后我还会建议Console.ReadKey()之类的内容,否则程序会在你看到结果之前完成并退出。

请注意,假设输入正确,您总是希望实现某种错误处理,以防用户键入除整数之外的其他内容。