RomanCalculatorLibrary.ArithmeticExpressionParser.ConvertInputStringToReversePolishSignature C# (CSharp) Method

ConvertInputStringToReversePolishSignature() public method

public ConvertInputStringToReversePolishSignature ( String expression ) : String
expression String
return String
        public String ConvertInputStringToReversePolishSignature(String expression)
        {
            if (!IsCorrectAmountOfBrackets(expression) || IsContainTerminalSign(expression))
                throw new ArgumentException("Uncorrect Format of expression");

            var listOfCharacterElements = GetAllCharacterElementsOfInputString(expression);

            var stack = new Stack<CharacterElement>();
            var resultingReversePolishSignature = String.Empty;
            var isPreviousCharIsLetter = false;
            foreach (var item in listOfCharacterElements)
            {
                resultingReversePolishSignature += ParsingCurrentCharacterElement(item, stack, ref isPreviousCharIsLetter);
            }

            AddRemainingCharacterElementsFromStack(stack, ref resultingReversePolishSignature);

            return resultingReversePolishSignature;
        }

Usage Example

Example #1
0
        public string CalculateExpression(string expression)
        {
            var reversePolishSignature = _arithmeticExpressionParser.ConvertInputStringToReversePolishSignature(expression);
            var resultInArarbicFormat  = GetResultOfCalculationInArabicFormat(reversePolishSignature);

            if (resultInArarbicFormat <= 0)
            {
                throw new ArgumentException("Not positive result of calculation");
            }

            var resultInRomatFormat = _arithmeticExpressionParser.ConverterOfNumbers.ConvertArabicNumberToRoman(resultInArarbicFormat);

            return(resultInRomatFormat);
        }
All Usage Examples Of RomanCalculatorLibrary.ArithmeticExpressionParser::ConvertInputStringToReversePolishSignature