社区
Java SE
帖子详情
java 根据任何公式,得到结果
尾号0505
2017-05-19 11:04:06
java有没有工具类能根据公式和参数得到结果的,公式和参数都是入参;
例如:参数公式为a+b>c,参数a=1,b=2,c=3; 工具类返回false;
参数公式为d>a+b>c,参数a=1,b=2,c=4,d=1; 工具类返回true;
参数公式为a+b,参数a=1,b=2 ;工具类返回3;
...全文
408
4
打赏
收藏
java 根据任何公式,得到结果
java有没有工具类能根据公式和参数得到结果的,公式和参数都是入参; 例如:参数公式为a+b>c,参数a=1,b=2,c=3; 工具类返回false; 参数公式为d>a+b>c,参数a=1,b=2,c=4,d=1; 工具类返回true; 参数公式为a+b,参数a=1,b=2 ;工具类返回3;
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
--sharp
2019-11-12
打赏
举报
回复
public static void main(String[] args) throws ScriptException { /* 使用JS脚本引擎执行 */ ScriptEngineManager sem = new ScriptEngineManager(); ScriptEngine sEngine = sem.getEngineByName("javascript"); System.out.println( sEngine.eval("(22+12-1)/10")); } pint:3.3
110成成
2017-05-19
打赏
举报
回复
写了一个,参考下 首先是替换,然后转换为计算式 里面异常条件没处理,你可以参考下 public static void main(String[] args) throws ScriptException { Map<String, String> map = new HashMap<String, String>(); /* map.put("a", "1"); map.put("b", "2"); map.put("c", "4"); map.put("d", "1"); System.out.println(StringTojisuanshi(format("d>a+b>c", map))); map.put("a", "1"); map.put("b", "2"); map.put("c", "3"); System.out.println(StringTojisuanshi(format("a+b>c", map))); */ map.put("a", "1"); map.put("b", "2"); System.out.println(StringTojisuanshi(format("a+b", map))); } /* * 参数公式为a+b>c,参数a=1,b=2,c=3; 工具类返回false; 参数公式为d>a+b>c,参数a=1,b=2,c=4,d=1; * 工具类返回true; 参数公式为a+b,参数a=1,b=2 ;工具类返回3; */ public void getCount(String str, Map map) { } public static String format(String input, Map<String, String> map) { for (Map.Entry<String, String> entry : map.entrySet()) { input = input.replace(entry.getKey(), entry.getValue()); } return input; } public static String StringTojisuanshi(String str) throws ScriptException { ScriptEngineManager manager = new ScriptEngineManager(); ScriptEngine engine = manager.getEngineByName("js"); Object result = engine.eval(str); return result.toString(); }
一个治疗术
2017-05-19
打赏
举报
回复
这种东西自己写一个不就好了吗
MikeDDT009
2017-05-19
打赏
举报
回复
不存在,真有那么智能那就不科学了,只能弄上符合条件的,特定的,而且需要你自己写。不存在什么万能对象来解决这个问题
java
判断计算
公式
_
java
怎么根据输入的
公式
计算结果
展开全部深圳远标为你解答这个问题通过栈实现,先用栈将中缀表达62616964757a686964616fe59b9ee7ad9431333363353739式转化为后缀表达式,然后再用栈计算后缀表达式的值的package com.saturday;import
java
.text.NumberFormat;import
java
.util.ArrayList;import
java
.util.Ha...
java
结果数_
Java
根据计算
公式
填入参数算出结果
框架:SpringBoot 2.1.15.RELEASEJDK:1.8实现方式:方式一:org.apache.commonscommons-jexl33.1计算例子:import org.apache.commons.jexl3.JexlBuilder;import org.apache.commons.jexl3.JexlEngine;import org.apache.commons.jexl...
Java
根据计算
公式
和参数计算结果
Java
根据计算
公式
和参数计算结果 import
java
.util.HashMap; import
java
.util.Map; import
java
x.script.ScriptEngine; import
java
x.script.ScriptEngineManager; public class formulaToCalculate { static ScriptEngine jse = new ScriptEngineManager().getEngineByName("
Java
S...
java
mvel_MVEL实现
java
直接根据
公式
计算结果
工具类import
java
.math.BigDecimal;import
java
.util.Map;import
java
.util.Map.Entry;import
java
.util.stream.Collectors;import org.mvel2.CompileException;import org.mvel2.MVEL;import org.mvel2.PropertyAcces...
MVEL实现
java
直接根据
公式
计算结果
2019独角兽企业重金招聘Python工程师标准>>> ...
Java SE
62,620
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章