C# 创建一个可以在main方法中调用的方法

C# 创建一个可以在main方法中调用的方法,c#,methods,C#,Methods,说明:DoublePrompt()-将一些提示文本打印到控制台,在用户响应中读取,并将该值作为已解析的double返回。此方法应防止无效的数字条目。当用户输入一个无效的输入时,它应该反复提示他们输入一个有效的数字输入 这是我的主要方法中的代码: while (choice.ToUpper() == "Y" ) { double length = DoublePrompt`("\nPlease enter package length: ")

说明: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());


    }

任何帮助都将不胜感激

好的,让我们回顾一下说明:

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轻松找到。指定输入无效数值时应发生的情况。好吧,在您上次编辑之后,我认为我的答案应该涵盖所有内容,但不包括为您编写代码。我建议你试一试。