Хорошо, давайте рассмотрим инструкции:
DoublePrompt () - печатает некоторый текст приглашения на консоль, считывает ответ пользователя и возвращает это значение в разобранном виде double. Этот метод должен защищать от недопустимых числовых записей.
Итак, первое, что должен сделать этот метод, это Console.WriteLine
- напечатать текст подсказки на консоль. Затем он должен прочитать ответ пользователя (используя Console.ReadLine()
), попытаться проанализировать его как double (используя метод double.TryParse()
) и вернуть double обратно вызывающей стороне.
Что должно произойти, если пользователь вводит некоторую случайную строку, которую невозможно проанализировать, чтобы удвоить?
В инструкции ничего не сказано, но давайте подумаем об этом на секунду: с точки зрения приложения нет смысла двигаться дальше, поскольку мы пропускаем значение, которое должен был ввести пользователь. с точки зрения пользователя, они, возможно, попытались набрать что-то вроде 6.35
и случайно нажали t
с помощью 5
и получили 6.35t
- что приведет к ошибке double.TryParse
- так что, как пользователь, вы хотели бы чтобы получить уведомление о том, что ваш ввод недействителен, и получите возможность повторно ввести его.
Итак, ваш метод должен сделать что-то вроде этого:
- Взять строковый параметр.
- Внутри цикла запишите параметр в консоль и получите ответ пользователя.
- попытаться разобрать ответ пользователя на двойное число, в случае успеха вернуть двойное. в случае неудачи выведите клиенту сообщение о том, что вход не может быть проанализирован для удвоения, и запустите цикл снова.
Поскольку это, очевидно, домашнее задание, я позволю вам самостоятельно заняться кодированием, потому что иначе вы ничего не узнаете из моего ответа.
Однако я оставлю вам последний совет - вы можете использовать цикл do {}while(condition)
или использовать while(true)
и return
внутри.