使用计算器程序,有点卡住了。
如果我有例如:2*7/2+3
在文本字段getText()
中,我怎样才能从字符串计算结果?
我一直在忙于String.split()
,但我无法想到解决这个问题......
由于
答案 0 :(得分:1)
你需要的是表达式解析。通常通过首先将中缀符号转换为后缀表示法并执行操作来完成。一个例子可以在:
答案 1 :(得分:1)
这个问题已经得到解答;见下面的链接。
您可以将表达式解析为二叉树。 没有括号的表达式会有:
然后,您可以通过将树从右侧,左侧,中间读取到堆栈的方式将其推入堆栈来评估树。
您需要一个平衡的括号树来将表达式转换为后置修复。