提问人:A-Zuma 提问时间:10/8/2023 最后编辑:Rand RandomA-Zuma 更新时间:10/8/2023 访问量:78
If else 语句未输出基于输入值的响应
If else statement isn't outputting responses based on input values
问:
我希望此代码根据我的输入值输出 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
答:
1赞
Zohar Peled
10/8/2023
#1
Console.Read()
返回一个 - 这是输入流的下一个字符的 Unicode 值。您想要使用 ,它返回用户输入的字符串(尽管用户还必须按键盘上的 / 键)。int
Console.ReadLine()
Enter
Return
另外,如果用户输入的内容无法转换为 ,例如 ?您希望使用 instead 而不是这样您的程序在这种情况下不会崩溃。int
banana
int.TryParse
Convert.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.");
}
评论
Console.ReadLine()
Console.Read()
从输入中读取下一个字符。