Функция для вычисления произведения чисел с помощью оператора "х"?
Какая функция будет вводить строку, которая может содержать числа или умножение двух чисел, используя '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;
}
Конечно, это игнорирует любую входную проверку.