2015-11-12 108 views
0

評估工科數學表達式,這是我的時刻代碼:爪哇 - 在一個字符串

public class Evaluation { 

    String str1 = "1 + 2 + 3"; 

    public static double evaluation(String str1){ 
     if (str1 == null || str1 == ""){ 
      return 0; 
     } 

     return 0; 
    } 
} 

我希望能夠做到這一點使用str1和評估無論是擺在那裏的。

例如。 「1 * 3 * -2」應該返回-6等,它必須在

號碼,話務員,號碼,話務員的形式,數目

但我是一個很新的程序員,我有一點關於如何實現這一點的想法。 感謝您的幫助。

+3

1.您是否嘗試過谷歌要求的呢? 2.您爲了解決問題而編寫了哪些代碼? 3.你想自己實現這個算法嗎?或者你正在尋找一個能爲你做這個的庫嗎? –

回答

1

嘗試ScriptEngine

ScriptEngine engine = new ScriptEngineManager().getEngineByName("JavaScript"); 
String input = "1 + 2 + 3"; 
System.out.println(engine.eval(input)); //prints 6