今天看java编程思想看到算法的优先级时,突然发现了一个小难点:如何用java处理string型的算式(如:“2+3*7-9%3”)
自己思考了下,有两种思路
1:将所有的运算符按优先级高低在算式里遍历一遍,碰到该运算符,计算出该运算符以及两端数字差生的结果,并将结果替换原运算符和两端数字;一次重复,最终可得出正确结果
该算法分析:由于要将所有运算符都遍历完,所以花费的时间会有些长,碰到些较简单的算式时不划算
2.遍历算式,碰到运算符即分析什么时候计算(思路不完整,待续)
该算法分析:花费时间少
具体的java代码待完善
以上两种方法均需先去算式中遍历花括号
方法3;
网上搜集到的另一种方法:用JavaScript包,然后使用JavaScript中的方法直接计算得出结果
简单易用,为相处更好的方法时用此法快速实现所需功能
本文待补充!
Java处理string型算式的高效算法探究
本文探讨了在Java环境下处理字符串形式算式的两种方法,并对比了它们的效率和适用场景。通过分析每种方法的时间复杂度,提供了一种更优的解决方案,旨在提高计算效率。
560

被折叠的 条评论
为什么被折叠?



