输入数学表达式得结果 输入像1+(2+3)+(4+5)这样的怎么得到结果15 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用MVEL吧,MVEL你可以理解成Javascript中的EVAL。 String str = "1+(2+3)+(4+5)";system.out.println(MVEL.eval(str)); scare -> ( scare )scare -> scare oper scarescare -> 数字oper -> + | - | * | /oper要考虑优先级! import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Scanner;import javax.script.ScriptEngine;import javax.script.ScriptEngineManager;public class EvalExpression{ public static void main(String[] args) { try { BufferedReader b = new BufferedReader(new InputStreamReader(System.in)); System.out.println("please input your expression:"); String exp = b.readLine(); ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine eng = factory.getEngineByName("javascript"); System.out.println(eng.eval("eval(" + exp + ")")); } catch (Exception ex) { ex.printStackTrace(); } }} JScrollPane 问题 关于身份证图片生成的问题 急!!寻求SUN公司Javac编译器GJC的源代码(或有效下载地址),谢谢 求救:java文件中路径的表示 初学JAVA难题 JAVA库中有没有这样的函数 JavaSE主要引用领域 分离锁和分拆锁的区别? 关于java中菜单事件的监听问题,求各位大神! 新手求大神说下数组问题。把数组中出现奇数次的数输出 关于Java调用外部程序的问题,坐等回答 java面试题
String str = "1+(2+3)+(4+5)";
system.out.println(MVEL.eval(str));
scare -> scare oper scare
scare -> 数字
oper -> + | - | * | /oper要考虑优先级!
import java.io.InputStreamReader;
import java.util.Scanner;import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;public class EvalExpression
{
public static void main(String[] args)
{
try
{
BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
System.out.println("please input your expression:");
String exp = b.readLine();
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine eng = factory.getEngineByName("javascript");
System.out.println(eng.eval("eval(" + exp + ")"));
} catch (Exception ex)
{
ex.printStackTrace();
}
}}