<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
import org.apache.commons.math3.analysis.function.*;
public class MathParserExample {
public static void main(String[] args) {
String expression = "sin(x) + cos(x)";
FunctionParser parser = new FunctionParser(expression);
double x = 0.5;
double result = parser.evaluate(new double[]{x});
}
}
<dependency>
<groupId>com.singularsys</groupId>
<artifactId>jep</artifactId>
<version>3.5</version>
</dependency>
import com.singularsys.jep.*;
public class MathParserExample {
public static void main(String[] args) throws ParseException {
String expression = "sin(x) + cos(x)";
Jep jep = new Jep();
double x = 0.5;
jep.addFunction("sin", new org.nfunk.jep.function.Sine());
jep.addFunction("cos", new org.nfunk.jep.function.Cosine());
jep.parse(expression);
double result = (double) jep.evaluate(new Object[]{x});
}
}
<dependency>
<groupId>net.objecthunter</groupId>
<artifactId>expr4j</artifactId>
<version>0.7.0</version>
</dependency>
import net.objecthunter.exp4j.*;
public class MathParserExample {
public static void main(String[] args) {
String expression = "sin(x) + cos(x)";
ExpressionBuilder builder = new ExpressionBuilder(expression);
double x = 0.5;
builder.function("sin", Math::sin);
builder.function("cos", Math::cos);
Calculable calculable = builder.build();
double result = calculable.calculate("x", x);
}
}