Обработка исключений при неверном вводе данных - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте.Возникла проблема с реализацией исключения на ввод(необходимо,чтобы при вводе неправильного значения постоянно выводилось сообщение о повторе ввода.Как это реализовать с учётом моего кода?Примеры: Код1:
double x, y,R = 0;
            while (true)
            {
                try
                {
                    Console.WriteLine("Введите R");
                    R = double.Parse(Console.ReadLine());
                    Console.WriteLine("Введите Х");
                    x = double.Parse(Console.ReadLine());
                    Console.WriteLine("Введите Y");
                    y = double.Parse(Console.ReadLine());
                    if (Math.Pow(x, 2) + Math.Pow(y, 2) <= Math.Pow(R, 2) && x <= R && y <= R || x - y >= 0)
                        Console.WriteLine("True");
                    else
                        Console.WriteLine("False");
                    Console.ReadKey();
                }
                catch
                {
                    Console.WriteLine("Введите правильно значение:");
                }
            }
Код2:
int R = 2;
            double x =0;
            double y = 0;
            Console.WriteLine("Введите х");
            while(x<=0 || x>=0)
            {
                try
                {
                    x = Double.Parse(Console.ReadLine());
                    if (x < -4 || x > 10)
                        Console.WriteLine("Интервал значений должен быть [-4,10]");
                    else if (x < -2)
                        y = x + 3;
                    else if (x < 4)
                        y = -0.5 * x;
                    else if (x < 6)
                        y = -2;
                    else
                        y = -Math.Sqrt(Math.Pow(R, 2) - Math.Pow((x - 8), 2)) - 2;
                    Console.WriteLine("y=" + y);
                    Console.WriteLine("Введите х");
                    
                }
 
                catch (FormatException)
                {
                    Console.WriteLine("Введите правильно значение X:");
                }       
             }
            
            Console.ReadKey();

Решение задачи: «Обработка исключений при неверном вводе данных»

textual
Листинг программы
static void Main()
{
    Console.Write("Enter number: ");
    double number = ReadDouble(IsNumber);
 
    Console.WriteLine("Kewl!");
}
 
static double ReadDouble(Predicate<double> validate = null)
{
    double result;
    while (!double.TryParse(Console.ReadLine(), out result) || (validate != null && !validate(result)))
        Console.Write("Invalid number, try again: ");
    return result;
}
 
static bool IsNumber(double value)
{
    return !double.IsNaN(value);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5