0

(100 % 6)* 7 =Java Stringsおよびとしていくつかの数式がありSin(45) + log 100 – 3 ^ 5 =ます。これらをオペランドと演算子で解析してから解決したいと思います。

しかし、Java正規表現は使いたくありません。最善の解決策は何ですか?

4

2 に答える 2

1

bison+yacc は、LALR テキスト パーサーである必要があるかもしれません。

于 2013-10-24T04:17:40.597 に答える
1
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;

public class aaa {



     public static void main(String []args){

        try {


        String xyz = "3*3+3";
        String kkk = "(100 % 6)* 7";

        ScriptEngineManager manager = new ScriptEngineManager();
        ScriptEngine se = manager.getEngineByName("JavaScript");        
        Object result1 = se.eval(xyz);
        Object result2 = se.eval(kkk);


        System.out.println("result1: "+result1);
        System.out.println("result2: "+result2);


        } 
        catch (Exception e) {
         e.printStackTrace();
        }
     }

}
于 2013-10-24T04:31:35.943 に答える