我可以在java中将字符串转换为数学运算吗?

我可以在java中将字符串转换为数学运算吗?,java,string,math,operation,Java,String,Math,Operation,我可以将“3*3+3”这样的字符串转换为java中的数学运算吗???使用 参考:没有内置函数,您必须实现一个解析器。但是,您也可以查找ready project,例如: 或 @BrianAgnew请看投票数最高的答案。除非你真的相信这个问题是关于表达的,我对此表示怀疑。但没必要就此争论。你是说JavaScript引擎?它可以工作,但我认为它的开销太大,而且功能有限。最好使用专门的库。如果你需要它,那么是的。然而,OP并没有激发它,并且声称没有内置函数是误导性的——除非您选择将问题解释为关于表达式

我可以将“3*3+3”这样的字符串转换为java中的数学运算吗???

使用


参考:

没有内置函数,您必须实现一个解析器。但是,您也可以查找ready project,例如: 或

@BrianAgnew请看投票数最高的答案。除非你真的相信这个问题是关于表达的,我对此表示怀疑。但没必要就此争论。你是说JavaScript引擎?它可以工作,但我认为它的开销太大,而且功能有限。最好使用专门的库。如果你需要它,那么是的。然而,OP并没有激发它,并且声称没有内置函数是误导性的——除非您选择将问题解释为关于表达式的表示,而不是其结果。这可能非常危险,并且假设您完全信任xyz字符串的源。这允许执行任何JavaScript。例如,尝试将xyz设置为“while(true);”。明白了,我明白你的意思。在这种情况下,应该使用正则表达式匹配xyz,以确保它只包含数字和数学运算符
String xyz = "3*3+3";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine se = manager.getEngineByName("JavaScript");        
Object result = se.eval(xyz);