C# 创建一个可以在main方法中调用的方法
说明:DoublePrompt()-将一些提示文本打印到控制台,在用户响应中读取,并将该值作为已解析的double返回。此方法应防止无效的数字条目。当用户输入一个无效的输入时,它应该反复提示他们输入一个有效的数字输入 这是我的主要方法中的代码:C# 创建一个可以在main方法中调用的方法,c#,methods,C#,Methods,说明:DoublePrompt()-将一些提示文本打印到控制台,在用户响应中读取,并将该值作为已解析的double返回。此方法应防止无效的数字条目。当用户输入一个无效的输入时,它应该反复提示他们输入一个有效的数字输入 这是我的主要方法中的代码: while (choice.ToUpper() == "Y" ) { double length = DoublePrompt`("\nPlease enter package length: ")
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());
}
任何帮助都将不胜感激好的,让我们回顾一下说明: DoublePrompt()-将一些提示文本打印到控制台,在用户响应中读取,并将该值作为已解析的double返回。此方法应防止无效的数字条目 因此,此方法应该做的第一件事是
Console.WriteLine
——将提示文本打印到控制台。然后,它应该读取用户的响应(使用Console.ReadLine()
),尝试将其解析为double(使用double.TryParse()
方法),然后将double返回给调用方
如果用户输入一些无法解析为双精度的随机字符串,该怎么办?说明中没有说明,但让我们考虑一下:从应用程序的角度来看,没有必要继续,因为我们缺少了用户应该输入的值。从用户的角度来看,他们可能尝试键入类似于
6.35
的内容,然后不小心用5
按了t
,得到了6.35t
——这将使加倍失败
因此,您的方法应该执行以下操作:
接受字符串参数
在循环中,将参数写入控制台,并获取用户响应
尝试将用户响应解析为double,如果成功,则返回double。如果失败,则提示客户一条消息,说明无法将输入解析为double,然后再次启动循环
因为这显然是一个家庭作业,我会让你自己编写代码,否则你将从我的答案中学不到任何东西。
然而,我将给您最后一个提示-您可以使用do{}while(condition)
循环,或者在内部使用while(true)
和return
。您的静态Main()
方法在某个类中。最简单的方法是将DoublePrompt()
静态方法添加到同一个类:)确保“DoublePrompt()”实际返回一个double;)(A) 查阅文档,仔细阅读double.TryParse
的功能和使用方法。(B) 为什么要尝试将double.TryParse
的结果(返回值)分配给字符串变量?请将问题分解为以下几个部分:(a)向控制台打印一些提示文本。(B) 使用中读取输入(C)返回该值(来自(B))作为解析的双精度输入(D)防止无效的数字项-这有点含糊不清,如何保护,拒绝输入,引发异常,什么?所有其他((A)、(B)和(C))都可以通过Google轻松找到。指定输入无效数值时应发生的情况。好吧,在您上次编辑之后,我认为我的答案应该涵盖所有内容,但不包括为您编写代码。我建议你试一试。