大家好,我是C#的新手,目前正处于试验if-else语句的阶段。在声明变量ageUser、allowtedAge、输入和运行程序时,我注意到 if 语句和结果输出似乎不匹配。
int ageUser;
int permittedAge = 18;
int input;
Console.Write("Put in your age: ");
input = Convert.ToInt32(Console.Read());
ageUser = input;
if (ageUser < permittedAge)
{
Console.WriteLine("Sorry you are not permitted to enter this site!");
}
else
{
Console.WriteLine("Welcome");
}
链接到控制台输出
您需要更改输入中的读取方式。Read(( 读取一个字符,并且不会像您认为的那样将其转换为 int。(5 由于其 ASCII 表示形式而变为 53(。请改用ReadLine
。
请改用以下选项。
Console.Write("Put in your age: ");
input = Convert.ToInt32(Console.ReadLine());
ageUser = input;