【发布时间】:2017-03-25 20:11:33
【问题描述】:
我正在尝试生成一个随机数并让用户 5 次尝试猜测正确的数字。我想比较他们的猜测并告诉他们是太高还是太低。 VS 不会执行,我不明白为什么会出错。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace NumberGuessingGame
{
class Program
{
static void Main(string[] args)
{
bool keepGoing = true;
while (keepGoing)
{
Random rnd = new Random();
int randomnumber = rnd.Next(1, 100);
//PC tells user to pick a number, display guessed number
Console.Write("Guess any integer between 1 and 100: ");
int userentry = Console.ReadLine();
{
if (int.Parse(userentry > rnd.Next))
{ Console.WriteLine($"You entered {userentry}. That's too
high. Try again.");
keepGoing = true;
}
if (int.Parse(userentry < randomnumber))
{
Console.WriteLine($"You entered {userentry}. That's too
low. Try again.");
keepGoing = true;
}
if (int.Parse(userentry = randomnumber))
{
Console.WriteLine($"You entered {userentry}. That's
right. Good job.");
keepGoing = false;
}
else (keepgoing) > 5);
{
Console.WriteLine($"You've already tried 5 times. You
lose.");
keepGoing = false;
}
else
{
Console.WriteLine("That is not a valid number.");
}
}
}
}
}
【问题讨论】:
-
你遇到了什么错误?
-
请发表您的错误。目前我看到至少一个问题 -
int.Parse()被赋予一个布尔表达式,但应该只被赋予userentry,例如int.Parse(userentry) > randomnumber。此外,C# 中的等价运算符是==,而不是=,因此您要检查等价的if应该是:if (int.Parse(userentry) == randomnumber) -
这里有 5 个不同的语法错误,太多了。您似乎是 C# 的完整初学者,因此我建议您在此处发布之前先阅读一些基本教程。
标签: c# if-statement random boolean-expression