Calc是一个用Java编写的算术表达式计算工具。它能够直接解析一个字符串形式的算术表达式并计算出结果。
Calc使用下面的语法:
E -> I | E + I | E - I
I -> U | I * U | I / U
U -> + U | - U | <浮点数> | ( E ) | <函数> | PI | E
其中,<浮点数>是一个符合java规范格式的10进制浮点数,PI是圆周率,E是自然对数的底。
<函数>实现了一些常用函数,函数的一般形式是:
<函数名> ( <参数>... )
参数也是一个表达式(即E),可用的函数列表则请参考图形界面或java.lang.Math的帮助文档。
Calc内部使用双精度浮点型(double)进行运算,一个正确的表达式经Calc计算所得的结果应该等于相应java表达式的结果。
示例代码:
import yyq.prod.calc.Calculator;
...
double result = Calculator.calc("1 + 2 + sin(1)");
System.out.println(result);
转自http://www.blogjava.net/20070716/archive/2011/02/12/185527.html
分享到:
相关推荐
一个开源的Java表达式计算引擎 Java代码 /** * java 表达式计算引擎 * @author Michael sun */ public class TestExpr4j { /** * @param args */ public static void main(String[] args) { ...
一个Java表达式计算类。帮助开发人员可以直接输入表达式。类中提供方法就可以得出运算结果输出。如输入:“3+5-2” 输出结果为:6
Java表达式计算支持自定义运算是一项重要的编程功能,它允许开发者根据特定需求扩展语言的运算符集合,并定义这些运算符的行为。在Java中,我们可以通过创建自己的类和接口来实现这个功能,使得程序能处理更复杂的...
**Java算术表达式计算类库 ExpressionJ** ExpressionJ是一个强大的Java库,专门设计用于解析和计算数学算术表达式。这个库对于那些在应用程序中需要动态计算复杂数学表达式的开发者来说,是一个非常有用的工具。它...
BeanShell java 表达式运算框架,及其方便快捷(附jar包,工具类,测试类)
【JAVA表达式计算器代码】是一种实现数学表达式计算的程序,它可以接受用户输入的复杂算术表达式,并根据运算符的优先级正确地计算出结果。这个程序的核心思想是运用了计算机科学中的数据结构——队列,以及控制流程...
在这个项目中,Java 被用来编写数学表达式计算程序,展示了其在软件开发中的灵活性。 2. 知识点:课程设计 该项目作为课程设计的一部分,旨在让学生应用所学的 Java 语言知识,通过实践提高编程技能和问题解决能力...
自己写的一个计算字符串表达式工具类; Java 工具类, 计算字符串表达式, 支持 +,-,*,/,%. ()
之前上传过一版本,但功能不强不能计算 boolean. 现在更新了下; 现支持运算符:*,/,%,+,-,<,>,!=,,==,,>=,&&,||,!,() 例如: "!true||7>-4&&-(5*6-20)>1==false" , 结果为: true "!(true||false&&true)" , 结果为: ...
### Java 实现中缀表达式转换为后缀表达式及计算 #### 概述 在计算机科学中,表达式的表示形式通常有三种:前缀、中缀和后缀。其中,中缀表达式是我们日常书写数学表达式时最常见的形式,如`2 + 3 * 4`。然而,在...
在本项目中,"Java实现表达式计算器源码.zip" 提供了一个基于Java语言的表达式计算工具。这个工具利用了多种数据结构和算法,包括链表、队列和栈,以及逆波兰表达式(也称为后缀表达式)的计算方法。下面将详细介绍...
【Java 表达式计算程序】的课设报告主要涵盖了设计和实现一个能解析和计算数学表达式的Java程序。这个程序允许用户输入包含四则运算、括号以及常见数学函数(如三角函数、平方根、指数和对数)的表达式,并直接给出...
该方法可以应用于Web环境下的Java表达式计算,例如,在Web应用程序中,从外部(如数据库、XML文件)读入某些数据,以完成相应的处理功能。这些数据可能是一些简单的字符字符串、数值,也可能是一些需要计算才能得到...
总结来说,"Java数学表达式计算"涉及到如何在Java环境中解析和评估复杂的数学表达式。这可以通过使用Java内置的方法、第三方库如Apache Commons Math,或是自定义解析器实现。通过分析提供的`ExprEvalSample`代码,...
java版的等式表达式解析,不等式表达式解析,与或非逻辑运算表达式解析;支持带参数的表达式解析; 支持带函数的表达式解析。 1、支持 +、-、*、/、%、&&、||、!、>、<、>=、、==、!=、^(幂)、(、) 运算符 2、支持有...
java编写的表达式求值(支持小数,指数运算),第一次上传,多多指教
JAVA源码Java算术表达式计算类库ExpressionJ
ExpressionJ是一个Java库,专为解析和计算数学算术表达式而设计。它允许程序员处理字符串形式的数学公式,将其转换为可执行的代码,并从中获取结果。在深入理解其源码之前,我们需要先了解一些基本概念。 1. **算术...
- **性能优化**:对于大量表达式计算,优化解析和求值过程至关重要,例如使用缓存来避免重复解析相同的表达式。 - **安全**:避免SQL注入等安全风险,确保输入表达式只包含预期的运算符和操作数,防止恶意用户执行...
java实现的算数表达式计算工具类,支持常用算数运算符的计算,包括min和max计算。