嗨我的If语句由于某种原因不能工作我希望它说无效如果用户低于0或超过100但我输入的每个数字直接到我的else语句甚至没有注意到我的if语句.
我究竟做错了什么?
g:
Console.WriteLine("Enter Grade: ");
int grade = Convert.ToInt32(Console.Read());
if (grade < 0 || grade > 100)
{
Console.WriteLine("Input Valid");
Console.ReadLine();
}
else
{
Console.WriteLine("Input invalid");
Console.ReadLine();
}
goto g;
Run Code Online (Sandbox Code Playgroud)
if/ else这里不是问题.你从用户那里得到输入的方式是.
使用Console.ReadLine()而不是Console.Read():
int grade = Convert.ToInt32(Console.ReadLine());
Run Code Online (Sandbox Code Playgroud)
Console.Read 从控制台返回第一个字符的数字表示(ACII代码),而不是您自己键入的数字.