我正在寻找一个用于公式解析和评估的java库(或带有java API的本机库).
使用这里的建议,我看了很多库:
但它们都不能满足我的需求,那就是:
也许一个例子会更好.假设我们按此顺序输入系统:
我希望能够按此顺序输入这4行,并询问"a"(或"b",无论如何)的结果.然后,如果在用户界面(基本上是一个表变量<>公式)"b"更改为"2*d",库将自动更改"b"和"a"的值,并返回我(或午餐事件,或调用函数)更改列表
最好的库就像JEP一样,但具有无序变量功能和自动评估因变量的可能性
我知道编译器和电子表格软件使用这样的机制,但我没有找到任何直接可用的java或java兼容库
有人知道吗?
编辑:精确:问题实际上是关于一个库,或最终是一组链接在一起的库.问题是公司的项目,并且想法是花费最少的时间."自己动手"的解决方案已经被估算,不在问题的范围内
我们在tomcat 6上有一个使用Java,hibernate 4,guice 3,guice-persist 3的应用程序
connection.autocommit在hibernate.cfg.xml文件中配置为false:
<session-factory>
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/dev</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>
<property name="connection.autocommit">false</property>
<property name="connection.proof_property">true</property>
<!-- Disable second-level cache. -->
<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
<property name="cache.use_query_cache">false</property>
<property name="cache.use_minimal_puts">false</property>
<property name="max_fetch_depth">3</property>
<!-- Print SQL to stdout. -->
<property name="show_sql">true</property>
<property name="format_sql">true</property>
<property name="id.new_generator_mappings">true</property>
<!-- Drop and then re-create schema on SessionFactory build, for testing. -->
<property name="hbm2ddl.auto">create</property>
<!-- Bind the getCurrentSession() method to the thread. -->
<property name="current_session_context_class">thread</property>
<!-- configuration pool via c3p0-->
<property name="c3p0.initialPoolSize">0</property>
<property name="c3p0.acquire_increment">1</property> …Run Code Online (Sandbox Code Playgroud)