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

时间:2018-11-11 07:57:09

标签: c# methods

指令: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());


    }

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

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

  

DoublePrompt()-将一些提示文本打印到控制台,读入用户响应并将该值作为已解析的double值返回。此方法应防止无效的数字输入。

因此,此方法要做的第一件事是Console.WriteLine-将提示文本打印到控制台。然后,它应该读取用户的响应(使用Console.ReadLine()),尝试将其解析为double(使用double.TryParse()方法),然后将double返回给调用者。

如果用户输入一些无法解析为双精度的随机字符串,应该怎么办?
该指令没有说明,但让我们考虑一下:从应用程序的角度来看,没有继续进行的步骤,因为我们缺少用户应该输入的值。从用户的角度来看,他们可能尝试键入类似6.35的内容,并意外地用t按下5并得到6.35t-这将使{{1} }-因此,作为用户,您希望收到输入无效的通知,并有机会重新输入。

因此您的方法应执行以下操作:

  1. 输入字符串参数。
  2. 在循环内,将参数写入控制台,并获得用户响应。
  3. 尝试解析用户对double的响应,如果成功,则返回double。如果失败,则向客户提示一条消息,指出无法将输入解析为两倍,然后再次开始循环。

由于这显然是一项家庭作业,因此我将让您自己进行编码,因为否则您将从我的答案中学不到任何东西。 但是,我将给您最后一个提示-您可以在内部使用double.TryParse循环或使用do {}while(condition)while(true)