编程语言
首页 > 编程语言> > java – 赋予括号优先权

java – 赋予括号优先权

作者:互联网

我是java的新手,我正在构建一个计算器,它需要一个等式并对其进行评估.

我正在使用Scanner方法获取输入,但这意味着我的输入是扫描仪类型.我应该怎么做这个输入,以便我可以评估它?一旦我可以评估它,我怎样才能优先考虑括号?

例如,对于等式(5 *(4 3))* 2,我想首先评估(4 3)的程序,然后将它乘以4,然后将所有这些乘以2.

非常感谢.

解决方法:

你需要的是Dijkstra的Shunting Yard Algorithm.这将in-fix数学符号转换为修复后符号,它巧妙地排除了运算符优先级和括号的所有问题,因为后修复符号不需要其中任何一个.维基百科页面在C中有一个完整的例子,可以翻译成Java.

标签:java,brackets,calculator,precedence
来源: https://codeday.me/bug/20190520/1143756.html