JEP is a Java mathematical expression parser.
This means that you can pass JEP a string of mathematical
operations (which may also contain variables) to perform and get
back an answer.

To start using JEP, create an instance of the
parser:

JEP j = new JEP();

Then, if you plan on using functions such as sin or cos, you need to tell JEP
to expect these by calling the parser’s addStandardFunctions
method:

j.addStandardFunctions();

You’re ready to start parsing. Call the
parseExpression method with the expression that needs parsing. In
this case, we’ll parse whatever is passed from the command
line:

j.parseExpression(args[0]);

Now print the result:

System.out.println(j.getValue());

For example, if the expression was “75 * 4 / (3
* 100)”, the output would be:

1.0

If you want to use variables in your
expression, you must tell JEP to expect these variables by calling
the parser’s addVariable method:

j.addVariable(“x”, 0);

One thing to keep in mind if you decide to use
JEP in your code is that JEP comes with one of two licenses: GPL or
commercial. Depending on the environment you plan on using it in,
the license type may be important to you.

Below is a complete example that parses the
expression passed in as a command line argument.

import org.nfunk.jep.JEP;

public class JepTip {
    public static void main(String []args)
{
        JEP j = new
JEP();

        j.addStandardFunctions();

        j.parseExpression(args[0]);

        System.out.println(j.getValue());

    }
}

Visit
the JEP Web site
to get complete documentation and plenty of
sample code.

Delivered each Thursday, our free Java newsletter provides insight and hands-on tips you need to unlock the full potential of this programming language. Automatically sign up today!

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays

Subscribe to the Developer Insider Newsletter

From the hottest programming languages to commentary on the Linux OS, get the developer and open source news and tips you need to know. Delivered Tuesdays and Thursdays