gpt4 book ai didi

java - 使用 Java 的递归表达式求值器

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:12:25 25 4
gpt4 key购买 nike

我打算写一个只做加法和减法的表达式求值器。我有一个简单的算法来做到这一点;但是,我有一些实现问题。

我认为表达式是(它是一个字符串)

"(" <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><expression2>从表达。我怎样才能做到这一点?

注意:我不是要密码。我所需要的只是一个想法来做到这一点。

谢谢,

-阿里

最佳答案

My problem is parsing <expression1>, <operator> and <expression2> from the expression

不要那样做,那么 :) 当您看到左括号时,请对表达式进行递归调用。在表达式的末尾,您要么找到另一个运算符(因此您毕竟不在表达式的末尾),要么找到右括号,在这种情况下您从求值返回。

关于java - 使用 Java 的递归表达式求值器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4073069/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com