java - 将插入的字符串转换为可编译的表达式

标签 java string compiler-construction expression

我是 Java 的新手,所以我的问题看起来微不足道,但我在我的书中找不到任何答案。

我想发起一个与用户的对话,他将在其中输入一个算术表达式(例如(2*x+y))然后打印出该表达式的结果(对于给定的 x 和 y 值)

    String EXPRESION = null;
    EXPRESION = JOptionPane.showInputDialog("Please enter expresion for dy/dx");
    double x = 1.4;
    double y = 5;
    double output = HERE IS THE PROBLEM
    JOptionPane.showMessageDialog("The value is" +output);

我无法转换用户插入的字符串,因此它将用作 x 和 y 的算术表达式,从而定义输出值

TIA 杰米特

最佳答案

自己解析它们并不难,但如果您需要快速且可能准确的结果,您可以使用现有库之一来解析算术表达式,例如 JEP或者也许是 Simple Parser for Arithmetic Expressions .

参见 Jep Console一个 sample 。 看起来 Jep 是付费软件。这可能不是问题,否则正如我所写,您应该能够找到许多等效的库。

关于java - 将插入的字符串转换为可编译的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/962778/

相关文章:

linux - 在 unix 中将多行、带引号的字符串作为单个命令行参数传递?

c# - 为时间变量创建一个字符串

compiler-construction - 用于编译源代码的人工神经网络

java - 我需要什么 Java 正则表达式来匹配此文本?

java - 从 jdbc ResultSet 获取数据行

java - 如何在Java中创建用户定义的不可变类,该类将用户定义的类对象作为类成员?

compiler-construction - 编译器设计与构建类

parsing - LALR 和 LR 解析有什么区别?

java - 使用oop java计算两点之间的线长

java - 创建静态 HashMap 并将其设置为 Java 中的类——它真的是静态的吗?