将String对象转换为方程式

时间:2013-09-24 02:45:49

标签: java swing expression equation scriptengine

我正在研究java program,我希望它完成的任务之一是将用户给定的输入转换为程序将解决的等式。一个例子是“(10 + 5/3)2 - 3(10 *(8 ^ 4))”。它必须能够解决中等教育水平方程,因此需要指数,指数表示法,甚至可能求解变量。

我查看了stackoverflow,发现了两件事,第三方API和ScriptEngine。

我遇到了这两个问题,因为我不想使用任何第三方API和脚本引擎的eval()函数,至少对我来说,我已阅读和理解的内容,它的功能有限。

是否还有其他原生API用于执行此类操作?我缺少一些技巧?

所以,回顾一下,我想要一些原生于java的东西,这不是脚本引擎,可以解决中学教育水平方程和表达式。

2 个答案:

答案 0 :(得分:2)

Java内置了(javax.script.*)JavaScript引擎:

它允许你解决这些方程式。

答案 1 :(得分:2)

  

..一个例子是“(10 + 5/3)2 - 3(10 *(8 ^ 4))”。 ..

尝试访问此ScriptEngine demo. ..

enter image description here

  

我查看了stackoverflow,发现了两件事,第三方API和ScriptEngine

     

我对这两个问题都有疑问,因为我不想使用任何第三方API和脚本引擎的eval()函数,至少对我来说我读过和理解的是,它的功能有限< / p>

这种理解是不正确的。


另见

使用ScriptEngine的示例。

  1. EvaluateString.java
    1. SwingCalculator.java(因为它太漂亮了)
    2. Calculet input = Calculet output