c# - 编写 If 语句时 C# 中的未知错误
问题描述
我正在尝试在 C# 中编写一个 If 语句,要求用户输入年龄,程序会打印年龄以及用户是否有资格投票,其中年龄限制为 18 岁。
在 Visual Studio 中运行代码时没有错误,但在我进行练习的平台上,我打印了一个错误:
输出不正确:您的程序打印了“18”,但应该打印了“18”
如果您只能指出错误(如果有),将不胜感激。
static void Main(string[] args)
{
int age;
Console.Write("Please input your age: ");
age = Convert.ToInt32(Console.ReadLine());
Console.Write(age);
Console.Write("\n");
if (age < 18)
{
Console.Write("You cannot cast your vote!");
}
else
Console.Write("You can cast your vote!");
{
}
}
解决方案
我认为错误与您的代码无关,它可能与评估答案的平台有关。
也就是说,有几点建议:
else 后面的括号可以去掉,或者代码需要在括号之间移动。
这 2 行:
Console.Write(age);
Console.Write("\n");
可以改为:
Console.WriteLine(age);
或者该行:
Console.Write("\n");
可:
Console.Write("\r\n");
错误可能与评估答案的平台有关。(在线?)我不知道这些平台到底是如何工作的,但是如果您使用下面的代码:
TextReader tr = Console.In;
char[] buffer = new char[4];
tr.Read(buffer, 0, 4);
string consoleOutput = new string(buffer);
if (consoleOutput != 18.ToString())
{
Console.WriteLine($"Expected 18, you entered {consoleOutput}");
}
输入 18 时,结果返回如下18/r/n
图所示:
这也会给你输出Expected 18, you enter 18
推荐阅读
- openapi - swagger 客户端中的对象图
- r - 更改 k 的集群顺序意味着结果
- android - 如何像在 capitalistGame 中一样在进度条上创建动画?
- java - 如何在 Gradle 中抑制 Spotbugs 堆栈跟踪?
- octave - 如何将我的数据保存为 Octave 中的 bmp 格式?
- git - 什么在没有`git-svn`的情况下从源代码构建`git`?
- python - 带有 Cartopy 的扩展欧洲地图
- amazon-dynamodb - 如何排除 DynamoDB GSI 中的项目
- c# - 如何更改标签的坐标
- php - 如何在 Laravel 的产品页面中获取产品(数组)的多个属性(数组)?