首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从J2ME中的字符串计算数学表达式

如何从J2ME中的字符串计算数学表达式
EN

Stack Overflow用户
提问于 2010-11-22 14:03:36
回答 2查看 866关注 0票数 1

如何从J2ME中的字符串计算数学表达式。

例如,一个包含“2*4”的字符串对我想要的字符串求值,并得到8 (2*4).How的结果,如果我在J2ME中这样做的话。

在“javax.script Ed.6”中,有一个名为"javax.script“的包用于计算来自string.Like的数学表达式,这表明J2ME可以使用任何包或任何类来计算来自字符串的数学表达式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-26 11:25:59

以下步骤用于从J2ME中的字符串计算数学表达式

  1. 读取字符串形式的表达式variable.Here表达式是中缀形式的。
  2. 将字符串变量中的表达式转换为后缀形式,并将其存储在另一个字符串变量中,即"postfix_str“。
  3. 使用Stack计算后缀形式的表达式( "postfix_str“数据中的值)。
票数 1
EN

Stack Overflow用户

发布于 2010-11-22 14:11:22

如果需要处理嵌套表达式,只需编写自己的基于堆栈的解析器即可。

如果您不熟悉该算法,可以使用两个堆栈,一个用于保存操作符,另一个用于保存操作数。

对于基本情况,您将所有运算符和操作数解析到它们各自的堆栈中,然后通过弹出两个操作数和一个运算符进行计算,然后执行计算,然后将结果存储回操作数堆栈。继续操作,直到操作符堆栈为空并且操作数堆栈只有一个值(结果)。如果运算符用完,堆栈上有多个结果,则表达式中存在错误。

要处理括号(包括嵌套括号),需要包括左括号和右括号的运算符。在解析表达式时,如果遇到右paren,立即开始计算表达式(弹出两个操作数和一个运算符,将结果放回操作数堆栈中),直到遇到左paren。然后继续解析表达式。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4242729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档