If else 语句未输出基于输入值的响应

If else statement isn't outputting responses based on input values

提问人:A-Zuma 提问时间:10/8/2023 最后编辑:Rand RandomA-Zuma 更新时间:10/8/2023 访问量:78

问:

我希望此代码根据我的输入值输出 Nay 或 Yay

Console.Write("Welcome! Please Select Any Number: ");

int x = Convert.ToInt32(Console.Read());

if (x >= 10)
{
    Console.WriteLine("Yay");
}
else
{
      Console.WriteLine("You are Wrong");
}

我最初没有使用 Convert.ToInt32 功能,但它一直在输出 You are wrong,无论值输入是否违反初始条件。

起初没有使用 Convert.ToInt 函数,代码一直 ouyput 你错了,然后使用它后,它不断输出 Yay 我希望代码输出单词 Nay,因为每当我的值小于 10 时,无论我输入什么值,输出都默认为 Yay 如果输入的值适合条件,我希望它输出 Yay

C# .NET IF-语句 输入 输出

评论

1赞 Rand Random 10/8/2023
我假设你是想使用Console.ReadLine()
2赞 Klaus Gütter 10/8/2023
Console.Read()从输入中读取下一个字符
0赞 Martheen 10/8/2023
当你的光标位于内置类和方法上时,按 F1 将启动一个相对全面的帮助页面,使用它们。
0赞 Jeremy Styers 10/9/2023
请以问题格式输入标题,而不是陈述。另外,请我们使用正确的语法,以使您的帖子更具可读性。照原样,你的帖子很难阅读,而且是一个很大的句子。最后,你的问题是关于基础发展的,这可以通过基础研究轻松回答。在发布问题之前,请做一些研究。

答:

1赞 Zohar Peled 10/8/2023 #1

Console.Read()返回一个 - 这是输入流的下一个字符的 Unicode 值。您想要使用 ,它返回用户输入的字符串(尽管用户还必须按键盘上的 / 键)。intConsole.ReadLine()EnterReturn

另外,如果用户输入的内容无法转换为 ,例如 ?您希望使用 instead 而不是这样您的程序在这种情况下不会崩溃。intbananaint.TryParseConvert.ToInt32

Console.Write("Welcome! Please enter any number: ");
var userInput = Console.ReadLine();
if(int.TryParse(userInput, out var x)
{
  if(x >= 10)
  {
    Console.WriteLine("Yay");
  }
  else
  {
    Console.WriteLine("You are Wrong");
  }
}
else
{
  Console.WriteLine($"Can't parse {userInput} as an int.");
}