【发布时间】:2019-02-05 17:43:31
【问题描述】:
using A = System.Console;
public void point()
{
int hour, minute;
A.Write("Enter Time (HH:MM) = ");
hour = A.Read();
A.Write(":");
minute = A.Read();
}
我希望它像
"输入时间 (HH:MM) = 12(小时输入):49(分钟输入)"
但它就像
"输入时间 (HH:MM) = 12(小时输入)
:49(分钟输入)
【问题讨论】:
-
这里的
A是什么? -
你应该可以使用 Console.Write() 来做到这一点
-
我认为这是一个控制台应用程序。你正在做的事情有问题。您可以使用 readkey() 而不是 read() 并将输入存储到属性中。并检测何时按下“[Enter]”键,然后显示“:”并开始捕获第二个数字。
-
对
Read()和Write()的工作方式做出一些假设,这看起来会让用户感到困惑,因为您最初是在提示 both 小时和分钟,但您的代码似乎希望将其输入为<Hours><Enter><Minutes><Enter>。我希望当用户输入<Hours>:<Minutes><Enter>时,您对Read()的第一次调用会失败,即使这是您要求他们输入的内容。我认为您最好使用reading the hours and minutes as oneString并将其解析为其组件值。 -
@sean - 使用 readkey() 代替 read() 可能不是一个好主意,因为用户希望处理退格等
标签: c# parsing console-application user-input console-input