2017-08-10 38 views
-7

功能如何在Java中使用输入字符串调用一个函数,如何调用从输入字符串中的Java

实际上,我想这样做:给定一个字符串

输入:罪(44) + 10 + cos(10)

输出:我想要得到输入的答案。

/我写这篇满足的条件提出一个问题,所以不要看到这条线之下/ 公共静态无效的主要(字串[] args)抛出异常

回答

0

您可以使用内置的JavaScript解释器。

import java.util.Scanner; 
import javax.script.ScriptEngine; 
import javax.script.ScriptEngineManager; 
import javax.script.ScriptException; 

public class Test { 


    public static void main(String[] args) throws InterruptedException, ScriptException{ 
     Scanner sc=new Scanner(System.in); 
     System.out.println("Enter expression : "); 
     String expression = sc.next(); //Enter -> sin(44)+10+cos(10) 

     ScriptEngineManager mgr = new ScriptEngineManager(); 
     ScriptEngine engine = mgr.getEngineByName("JavaScript"); 
     String foo = "cos = Math.cos;" // ; or \n 
        + "sin = Math.sin;" 
        + expression; 
     System.out.println(engine.eval(foo)); 
    } 
} 
+0

我该如何在java中做到这一点:我想打破字符串,只是识别子字符串是一个函数,并调用它并得到答案 – jack

1

您需要查找数学表达式解析器库。可能是这样的:mathparser.org

相关问题