我将编写一个仅执行加法和减法的表达式计算器。我有一个简单的算法可以做到这一点;但是,我有一些实施问题。
我将表达式视为(它是一个字符串)
"(" <expression1> <operator> <expression2> ")"
这是我的算法
String evaluate( String expression )
if expression is digit
return expression
else if expression is "(" <expression1> <operator> <expression2> ")"
cut the brackets out of it
expression1 = evaluate( <expression1> )
operator = <operator>
expression2 = evaluate( <expression2> )
if operator is +
expression1 + expression2
else if operator is -
expression1 - expression2
我的问题是解析<expression1>
, <operator>
and <expression2>
从表达。我怎样才能做到这一点?
注意:我不是要求代码。我所需要的只是一个想法来做到这一点。
谢谢你,
-Ali
我的问题是解析 ,
和 来自
表达
那么就不要这样做:) 当您看到左括号时,请对表达式进行递归调用。在表达式的末尾,您要么找到另一个运算符(因此您毕竟不在表达式的末尾),要么找到右括号,在这种情况下您从评估中返回。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)