Создание метода, который я могу вызвать в методе main - PullRequest
0 голосов
/ 11 ноября 2018

Инструкция: DoublePrompt () - печатает некоторый текст приглашения на консоль, считывает ответ пользователя и возвращает это значение в разобранном двойном виде. Этот метод должен защищать от недопустимых числовых записей. Когда пользователь вводит неверный ввод, он должен многократно запрашивать ввод действительного числового ввода.

Это код моего основного метода:

        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 голосов
/ 11 ноября 2018

Хорошо, давайте рассмотрим инструкции:

DoublePrompt () - печатает некоторый текст приглашения на консоль, считывает ответ пользователя и возвращает это значение в разобранном виде double. Этот метод должен защищать от недопустимых числовых записей.

Итак, первое, что должен сделать этот метод, это Console.WriteLine - напечатать текст подсказки на консоль. Затем он должен прочитать ответ пользователя (используя Console.ReadLine()), попытаться проанализировать его как double (используя метод double.TryParse()) и вернуть double обратно вызывающей стороне.

Что должно произойти, если пользователь вводит некоторую случайную строку, которую невозможно проанализировать, чтобы удвоить?
В инструкции ничего не сказано, но давайте подумаем об этом на секунду: с точки зрения приложения нет смысла двигаться дальше, поскольку мы пропускаем значение, которое должен был ввести пользователь. с точки зрения пользователя, они, возможно, попытались набрать что-то вроде 6.35 и случайно нажали t с помощью 5 и получили 6.35t - что приведет к ошибке double.TryParse - так что, как пользователь, вы хотели бы чтобы получить уведомление о том, что ваш ввод недействителен, и получите возможность повторно ввести его.

Итак, ваш метод должен сделать что-то вроде этого:

  1. Взять строковый параметр.
  2. Внутри цикла запишите параметр в консоль и получите ответ пользователя.
  3. попытаться разобрать ответ пользователя на двойное число, в случае успеха вернуть двойное. в случае неудачи выведите клиенту сообщение о том, что вход не может быть проанализирован для удвоения, и запустите цикл снова.

Поскольку это, очевидно, домашнее задание, я позволю вам самостоятельно заняться кодированием, потому что иначе вы ничего не узнаете из моего ответа. Однако я оставлю вам последний совет - вы можете использовать цикл do {}while(condition) или использовать while(true) и return внутри.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...