制作一种检查用户输入是否等于随机数的方法

时间:2018-10-08 15:37:36

标签: c# random

我有这个练习:

  1. 采用一种可生成1到100之间的随机数的方法。

  2. 要求用户猜测1到100之间的数字。

  3. 采用一种方法来检查用户的猜测是否等于已生成的随机数。此方法还会说“较高”或“较低”,直到用户猜出随机数为止。

我对步骤1和2没问题,但是对第三步有问题。到目前为止,这是我的代码:

static void Main(string[] args)
{
    int randomNumber = GenerateRandomNumberMethod();
    Console.WriteLine("Guess a number between 1 and 100:");                
}

// generate random number method (step 2)   
public static int GenerateRandomNumberMethod()
{
    Random rdn = new Random();
    int random = rd.Next(1,100);
    return random;
}

//第3步(将猜测数字与随机数字进行比较的方法)?

我希望这不是一个愚蠢的问题,答案可能非常简单。

2 个答案:

答案 0 :(得分:3)

好吧,您要做的第一件事是将生成的随机数存储在变量中,这样,在每次用户尝试后都不会重新生成该随机数。

第二件事是创建一个方法,将用户输入与随机生成的数字进行比较,并返回一个值,该值指示用户输入是小于,等于还是大于生成的数字(A bool?可能是个不错的选择。

您需要的第三件事是将用户输入的字符串转换为int的安全方法。
不要犯使用Convert.ToInt32的常见错误-改为使用int.TryParse。如果用户输入Zohar而不是123,则不想引发异常。

要做的第四件事是实现一个循环-它将不断从用户那里获取输入,并告诉他们数字是否太大或太小。如果该数字与生成的随机数相同,则退出循环。

最后要做的是告诉用户他们最终猜出了正确的数字并退出(或重启)游戏。

由于这显然是一项家庭作业,因此我将把编码部分留给您处理,因为如果您至少自己不做任何事情,但是至少现在有了计划,您将不会学到任何东西。

答案 1 :(得分:0)

尝试

int userGuess = int.Parse(Console.ReadLine());

在阅读用户输入内容时,请参见此previous question

有关您的确切问题,请参见此previous question

查看有关int.Parse()的注释的注释