试图创建一个“;如果“;语句,这样如果字符串大于int,它就会显示一条消息
本文关键字:如果 大于 字符串 int 一条 消息 显示 语句 创建 一个 | 更新日期: 2023-09-27 18:29:50
我正在创建一个随机数猜测游戏,这样就生成了一个随机数字,用户必须猜测这个数字,如果他们猜测的数字低于这个数字,那么他们就可以再次猜测,如果他们在上面猜测,直到他们猜到正确的数字。P.S我还尝试了int.Parse将用户输入的字符串更改为数字,但仍然得到了"运算符"<"不能应用于类型为"string"answers"int"的操作数
我试图在c中创建一个"if"语句,这样,如果一个字符串(用户输入的数字)大于一个int(随机生成的数字),它就会告诉他们再次猜测。但如上所述,我在使用"小于"answers"大于"符号时出现错误。
提前谢谢。
using System;
namespace randomNumberGenerator
{
class MainClass
{
public static void Main (string[] args)
{
Random random = new Random ();
int randomNumber = random.Next (0, 100);
Console.WriteLine ("Guess The Number I Am Thinking");
string usernumber = Console.ReadLine ();
int.Parse (usernumber);
if (usernumber < randomNumber)
Console.WriteLine ("No");
}
}
}
int.Parse (usernumber);
将返回一个整数值,它不会修改字符串usernumber
或将其类型更改为integer。你需要
int number;
number = int.Parse(usernumber);
if(number < randomNumber)
{
Console.WriteLine("No");
}
如果您使用int.TryParse
也会更好,在用户输入非数字字符串值的情况下,它不会引发异常。
Parse返回一个int
,但不会修改您传递给它的变量。因此,您需要一个新的变量
var number = int.Parse (usernumber);
if (number < randomNumber)
您的错误基本上表明您无法比较不同类型的变量(在本例中为string
和int
)。编译器不知道你的字符串是否真的可以被解释为数字。
你也可以使用TryParse,
int number;
var validNumber = int.TryParse(usernumber, out number);
if (!validNumber)
{
Console.WriteLine("Please choose a number. Bye...");
return;
}
if (number < randomNumber)
Console.WriteLine("No");
您需要分配变量,并且您可能希望检查用户输入实际上是一个数字。int.TryParse(string s,out int x)方法将适用于此。这是代码:
int userInput;
bool isNumber = int.Tryparse(usernumber, out userInput);
if( isNumber && userInput < randomNumber)
{
Console.WriteLine("No");
}
else if(!isNumber)
{
Console.WriteLine("Please enter a valid integer");
}