字符串中的数字怎么计算?? 比如我定义一个变量,String s = "1+2*3+(2+2)/2";我想得到字符串中数字表达式的值,当然这只是简单的数字表达式,还有更复杂的,请问在java中怎么处理?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不好意思,忘贴地址了http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html看看jdk中关于Pattern类的API说明 用正则表达式没问题,问题是我解析出来了,里面还有一些()等符号,怎么一起带出来,而在oracle里面,可以直接 select '1+2*3+(2+2)/2' from dual 直接进行计算,java能不能直接算出来?? 在java正则表达式中(可以用\\(进行匹配,你可以先把表达式解析出来,然后用SQL算 public static void main(String[] args) throws Exception { ScriptEngineManager mgr = new ScriptEngineManager(); ScriptEngine engine = mgr.getEngineByName("javascript"); Number result = (Number) engine.eval("1+2*3+4"); System.out.println(result);} 我现在就是这么干的,因为这样的表达式太多,用sql会影响效率。 ScriptEngineManager 是jdk1.6里面吧,用jdk1.6里面的api不行,因为websphere7不支持jdk1.6,还有别的方法吗?? 我是在服务器端执行的,怎么调用javascript?? 这里正则表达式根本没有任何用可以自己写解析器(JavaCC,Anltr等)或者使用JavaScript(rhino)服务器也可以通过rhino执行JavaScript的 javacc是可以实现但是有点大炮打蚊子的感觉 这种方式最简单,也最实用,可惜jdk1.5不支持。 不能用1.6的话,那么就像ChDw说的那样,用rhino,http://www.mozilla.org/rhino String s1="1";String s2="2";int totle=Integer.parseInt(s1)+Integer.parseInt(s2);System.out.println(totle); 编写java程序读取网页的源代码显示到控制台 lucence 怎样实现文件上传 FTP断点上传问题 struts项目需求分析说明书 用hibernate实现数据的持久化,怎么才能实现将两个类中的数据处理操作放到同一个事务中? 怎样在单击按扭时,调用javabean的函数(或用Struts)。<要求在同一页面下,不用打开另页面> 关于Struts错误的问题 感兴趣的都可以来讨论一下,究竟是技术重要还是一个好的idea重要? 关于JBuilder+Weblogic700求助 跪求 java 写扫号器思路!!!!!!!! 询问各公司WEB系统发布时间
不好意思,忘贴地址了http://download.oracle.com/javase/1.4.2/docs/api/java/util/regex/Pattern.html
看看jdk中关于Pattern类的API说明
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("javascript");
Number result = (Number) engine.eval("1+2*3+4");
System.out.println(result);
}
我现在就是这么干的,因为这样的表达式太多,用sql会影响效率。
ScriptEngineManager 是jdk1.6里面吧,用jdk1.6里面的api不行,因为websphere7不支持jdk1.6,还有别的方法吗??
我是在服务器端执行的,怎么调用javascript??
但是有点大炮打蚊子的感觉
String s2="2";
int totle=Integer.parseInt(s1)+Integer.parseInt(s2);
System.out.println(totle);