如何从J2ME中的字符串计算数学表达式。
例如,一个包含“2*4”的字符串对我想要的字符串求值,并得到8 (2*4).How的结果,如果我在J2ME中这样做的话。
在“javax.script Ed.6”中,有一个名为"javax.script“的包用于计算来自string.Like的数学表达式,这表明J2ME可以使用任何包或任何类来计算来自字符串的数学表达式。
发布于 2010-11-26 11:25:59
以下步骤用于从J2ME中的字符串计算数学表达式
发布于 2010-11-22 14:11:22
如果需要处理嵌套表达式,只需编写自己的基于堆栈的解析器即可。
如果您不熟悉该算法,可以使用两个堆栈,一个用于保存操作符,另一个用于保存操作数。
对于基本情况,您将所有运算符和操作数解析到它们各自的堆栈中,然后通过弹出两个操作数和一个运算符进行计算,然后执行计算,然后将结果存储回操作数堆栈。继续操作,直到操作符堆栈为空并且操作数堆栈只有一个值(结果)。如果运算符用完,堆栈上有多个结果,则表达式中存在错误。
要处理括号(包括嵌套括号),需要包括左括号和右括号的运算符。在解析表达式时,如果遇到右paren,立即开始计算表达式(弹出两个操作数和一个运算符,将结果放回操作数堆栈中),直到遇到左paren。然后继续解析表达式。
https://stackoverflow.com/questions/4242729
复制相似问题