public static double Multiply() { double operand1 = ReciveOperands("Operand1"); double operand2 = ReciveOperands("Operand2"); OperatorsFactory multiplyFactory = new MultiplyFactory(); Operator multiplyOperator = multiplyFactory.Create(); return(multiplyOperator.Calculate(operand1, operand2)); }
public string Multiply(double numberA, double numberB) { IOperatorFactory multiply = new MultiplyFactory(); Operator multiplyOperator = multiply.CreareOperator(); multiplyOperator.NumberA = numberA; multiplyOperator.NumberB = numberB; return(multiplyOperator.GetResult().ToString()); }
public string GetResult() { string[] str = expression.Split(new char[4] { '+', '-', '/', '*' }); string result = null; if (str.Length == 1) { return(Convert.ToDouble(str[0]).ToString()); } else { //第一个数带符号问题 if (str.Length == 3) { str[0] = "-" + str[1]; str[1] = str[2]; } char c = expression.ToCharArray()[expression.IndexOf(str[0]) + str[0].Length]; //string pattern = @"^-?\d+$";//判断整数? //Regex regex = new Regex(pattern); switch (c) { case '+': { AdditionFactory additionFactory = new AdditionFactory(); Operation operateAddition = additionFactory.CreateAddition(str[0], str[1]); result = operateAddition.GetResult(); break; } case '-': { SubtractionFactory subtractionFactory = new SubtractionFactory(); Operation operateSubtraction = subtractionFactory.CreateSubtraction(str[0], str[1]); result = operateSubtraction.GetResult(); break; } case '*': { MultiplyFactory additionFactory = new MultiplyFactory(); Operation operateMultiply = additionFactory.CreateMultiply(str[0], str[1]); result = operateMultiply.GetResult(); break; } case '/': { DivideFactory additionFactory = new DivideFactory(); Operation operateDivide = additionFactory.CreateDivide(str[0], str[1]); result = operateDivide.GetResult(); break; } default: result = "error"; break; } } return(result.ToString()); }