我有这个练习:
采用一种可生成1到100之间的随机数的方法。
要求用户猜测1到100之间的数字。
采用一种方法来检查用户的猜测是否等于已生成的随机数。此方法还会说“较高”或“较低”,直到用户猜出随机数为止。
我对步骤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步(将猜测数字与随机数字进行比较的方法)?
我希望这不是一个愚蠢的问题,答案可能非常简单。
答案 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()
的注释的注释