java.util.StackStringTest { =[] = { }= (Stack<Integer> numStackStack<String> symbolStack) { String symbol = symbolStack.pop()a = numStack.pop()b = numStack.pop()b = .equals(symbol) ? numStack.push(a + b) : .equals(symbol) ? numStack.push(b - a) : .equals(symbol) ? numStack.push(a * b) : } (String expression) { Stack<Integer> numStack = Stack<Integer>()Stack<String> symbolStack = Stack<String>()numTmp = String peek = befor=(i = i < expression.length()i++) { c = expression.charAt(i)(c >= && c <= ) { numTmp = (numTmp == ) ? c - : numTmp * + c - (numTmp!=){ (befor==){ } } } {numStack.push(numTmp)numTmp = (!symbolStack.empty()) { peek = symbolStack.peek()(.equals(peek)) { calculator(numStacksymbolStack)} (!(c == ) && !symbolStack.empty()) { calculator(numStacksymbolStack)} } symbolStack.push(c + )} befor=c} numStack.push(numTmp)(!symbolStack.empty()) { calculator(numStacksymbolStack)} result = numStack.pop()(result == ) { System..println(++ + + expression + + )} result} (String expressioncursor) { (cursor >= .) { checkValue(expression)} (i = i < i++) { getExpression(expression + ((i == ) ? + [cursor] : (i == ) ? + [cursor] : (i == ) ? + [cursor] : [cursor])cursor + )} } (String[] args) { StringTest stringTest = StringTest()stringTest.getExpression(stringTest.[] + )} }