指令:DoublePrompt()-将一些提示文本打印到控制台,读入用户响应并将该值作为已解析的double值返回。此方法应防止无效的数字输入。当用户输入无效的输入时,应提示他们一次又一次输入有效的数字输入。
这是我主要方法中的代码:
while (choice.ToUpper() == "Y" )
{
double length = DoublePrompt`("\nPlease enter package length: ");
double width = DoublePrompt("Please enter package width: ");
double height = DoublePrompt("Please enter package height: ");
double weight = DoublePrompt("Please enter package weight: ");
double cost = CalculatePackageCost(length, width, height, weight); totalCost += cost;
PrintCost("package", cost); choice = PackagePrompt();
}
while (choice.ToUpper() == "Y" )
{
double length = DoublePrompt`("\nPlease enter package length:");
double width = DoublePrompt("Please enter package width: ");
double height = DoublePrompt("Please enter package height: ");
double weight = DoublePrompt("Please enter package weight: ");
double cost = CalculatePackageCost(length, width, height, weight); totalCost += cost;
PrintCost("package", cost); choice = PackagePrompt();
}
如何创建一种符合指令说明的方法? 到目前为止,这就是我所拥有的:
static double DoublePrompt(string Measurements )
{
string choice = double.TryParse(Console.ReadLine());
}
任何帮助将不胜感激
答案 0 :(得分:1)
好的,让我们回顾一下说明:
DoublePrompt()-将一些提示文本打印到控制台,读入用户响应并将该值作为已解析的double值返回。此方法应防止无效的数字输入。
因此,此方法要做的第一件事是Console.WriteLine
-将提示文本打印到控制台。然后,它应该读取用户的响应(使用Console.ReadLine()
),尝试将其解析为double(使用double.TryParse()
方法),然后将double返回给调用者。
如果用户输入一些无法解析为双精度的随机字符串,应该怎么办?
该指令没有说明,但让我们考虑一下:从应用程序的角度来看,没有继续进行的步骤,因为我们缺少用户应该输入的值。从用户的角度来看,他们可能尝试键入类似6.35
的内容,并意外地用t
按下5
并得到6.35t
-这将使{{1} }-因此,作为用户,您希望收到输入无效的通知,并有机会重新输入。
因此您的方法应执行以下操作:
由于这显然是一项家庭作业,因此我将让您自己进行编码,因为否则您将从我的答案中学不到任何东西。
但是,我将给您最后一个提示-您可以在内部使用double.TryParse
循环或使用do {}while(condition)
和while(true)
。