字符串输入计算表达式

写一个方法 传入一个字符串比如:3+2*5-4/2 返回11:

import java.util.Scanner;

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;

/**
* String calculate function class.
* @author frank
* @since 11/18/2010
* */
public class Test {
public static void main(String[] args) throws Exception {
System.out.println("Input your expression now:");
Scanner sc=new Scanner(System.in);
String myString=sc.next();
ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript");
double res = (Double)jse.eval(myString);
System.out.println(res);
}

}
用java字符串去处理很复杂的逻辑,很多细节要考虑。但是用Java去调用JS提供的eval()方法那就相当easy了。
posted @ 2010-11-18 10:28  留心_frankliujava  阅读(450)  评论(0编辑  收藏  举报