Функция для вычисления произведения чисел с помощью оператора "х"?

Какая функция будет вводить строку, которая может содержать числа или умножение двух чисел, используя 'x' персонаж как оператор?

Например:

  • Если вход "6 x 11" тогда вывод должен быть 66,
  • Если вход "78"тогда вывод должен быть 78,

2 ответа

Проверь это

        public int GetProduct(string input)
        {
            int result = 1;
            input = input.ToUpper();

            if (input.Contains("X"))
            {
                string[] array = input.Split('x');
                for (int index = 0; index < array.Length; index++)
                {
                    if (IsNumber(array[index]))
                    {
                        result = result * Convert.ToInt32(array[index]);
                    }
                }
            }
            else
            {
                result = Convert.ToInt32(input);
            }
            return result;
        }

        bool IsNumber(string text)
        {
            Regex regex = new Regex(@"^[-+]?[0-9]*\.?[0-9]+$");
            return regex.IsMatch(text);
        }

Ну, вы могли бы использовать несколько методов System.String для достижения этой цели. Что вы пробовали?

Один вариант:

public int GetValue(string input)
{
    int output = 0;

    if (input.Contains("x"))
    {
        string[] a = input.Split('x');
        int x = int.Parse(a[0]);
        int y = int.Parse(a[1]);

        output = x * y;
    }
    else
    {
        output = int.Parse(input);
    }
    return output;
}

Конечно, это игнорирует любую входную проверку.

Другие вопросы по тегам