`
Goro
  • 浏览: 170777 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java解析计算式 (例:四则运算)

    博客分类:
  • Java
阅读更多
http://www.ne.jp/asahi/hishidama/home/tech/soft/java/eval16.html

import jp.hishidama.eval.*;

public class Calc {

	public static void main(String[] args){
		String str = args[0];
		System.out.println("计算式 :" + str);

		Rule rule = ExpRuleFactory.getDefaultRule();
		Expression exp = rule.parse(str);	//解析
		long result = exp.evalLong(); 	//计算
		System.out.println("結果:" + result);
	}
}


上面的输出结果:
>java Calc "1+2 * (2 - 4) / -1"
计算式 :1+2 * (2 - 4) / -1
結果:5

还可以设置变量哦~~~


分享到:
评论

相关推荐

    java四则运算工具类

    解析expression四则运算表达式 如:(1+2*3.5*(2+3)-10+18*20)

    输入字符串实现加减乘除四则运算(java)

    将近250行的算法 实现了通过字符串进行加减乘除四则运算 纯通过处理字符串和数组实现 希望能帮助大家: 例如:String input "33+26 77+70"; String result ""; try { result Account...

    javascript中解析四则运算表达式的算法和示例

    在编写代码时我们有时候会碰到需要自己解析四则运算表达式的情况,本文简单的介绍使用JavaScript实现对简单四则运算表达式的解析。 一、熟悉概念 中缀表示法(或中缀记法)是一个通用的算术或逻辑公式表示方法, ...

    java正则实现解析算术表达式 (仅限+-*/和括号)

    java正则实现解析算术表达式 (仅限+-*/和括号)

    javacc四则运算表达式计算器

    本程序实现一个四则混合运算,用户只需要输入四则混合运算表达式,程序自动计算, 可以一次计算一个表达式,也可以批量计算多行表达式,而且适合商业计算精度要求。 由于该程序依赖一个清屏功能cls.dll,使用32位win7...

    设计模式之解释器模式Java版本实现

    设计模式之解释器模式的Java版本实现和UML类图设计

    Java加减乘除多重括号计算(有计算过程)

    加减乘除多重括号的复杂计算,只需输入你要计算的字符串,立马出正确结果,而且有打印出计算步骤,非常强大,用解析字符串做出来的。望下载后觉得好用的给点好评,望大家顶顶!

    安卓计算器源代码

    可解析带括号的四则运算。 解析算术表达式的时候,准备调用Webkit通过Js来解析的。 但是2.3.3存在Bug,Js调用Java会导致程序崩溃, 所以没办法,最后是用 BeanShell来解析的。 不过,因为需要每个参与计算的数字...

    常规算法的解析

    一般java的常规计算方法的总结和归类,包涵四则运算的集合

    java常用工具类的使用

    Date类中包含了日期和时间,在Java编程中,日期通常指年、月、日,时间则指时、分、秒、毫秒。Java对Date进行格式化使用java.text.DateFormat类。在格式表示中,经常采用4种格式,这四种格式被定义为DateFormat类的...

    java 面试题 总结

    JAVA相关基础知识 1、面向对象的特征有哪些方面 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用...

    EL表达式 (详解)

    在EL中,这四个隐含对象只能用来取得范围属性值,即getAttribute(String name),却不能取得 其他相关信息。 例如:我们要取得session中储存一个属性username的值,可以利用下列方法: session.getAttribute(...

    超级有影响力霸气的Java面试题大全文档

    超级有影响力的Java面试题大全文档 1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。...

    java设计模式

    27.1 四则运算你会吗 27.2 解释器模式的定义 27.3 解释器模式的应用 27.3.1 解释器模式的优点 27.3.2 解释器模式的缺点 27.3.3 解释器模式使用的场景 27.3.4 解释器模式的注意事项 27.4 最佳实践 第28章 享元模式 ...

    freemarker总结

    options:该参数可以省略,指定包含时的选项,包含encoding和parse两个选项,其中encoding指定包含页面时所用的解码集,而parse指定被包含文件是否作为FTL文件来解析,如果省略了parse选项值,则该选项默认是true. ...

    易语言程序免安装版下载

    修改BUG:数值计算支持库“大数.四舍五入()”命令在最高位进位时,会导致程序异常。 17. 修改BUG:办公组件支持库打印进度对话框的标题和用户设置的内容不一致。 18. 修改BUG:办公组件静态编译后无法正常销毁。 ...

    C#微软培训资料

    第七章 表 达 式 .58 7.1 操 作 符 .58 7.2 算术操作符和算术表达式.59 7.3 赋值操作符和赋值表达式.64 7.4 关系操作符和关系表达式.65 <<page 2>> page begin==================== 7.5 逻辑操作符和...

Global site tag (gtag.js) - Google Analytics