java算术表达式_一文了解如何用 Java 进行算术表达式计算

(给ImportNew加星标,提高Java技能)

编译:ImportNew/唐尤华

如何用Java计算"5+3"、"10-40"、"10*3"这样的算术表达式?本文介绍了可使用的常见方法及各自优缺点。

1. JDK Javascript引擎

JDK1.6开始,提供了Javascript脚本引擎。可以把 String 形式的字符串通过 engine.eval() 方法执行计算。示例如下:

import javax.script.ScriptEngineManager;

import javax.script.ScriptEngine;

import javax.script.ScriptException;

public class Test {

public static void main(String[] args) throws ScriptException{

ScriptEngineManager mgr = new ScriptEngineManager();

ScriptEngine engine = mgr.getEngineByName("JavaScript");

String foo = "40+2";

System.out.println(engine.eval(foo));

}

}

Java中的ScriptEngine理论上支持符合ECMAScript规范的语言。要确认当前Java支持哪些语言,可以执行下列代码:

import java.util.List;

import javax.script.ScriptEngineManager;

import javax.script.ScriptEngine;

import javax.script.Bindings;

import javax.script.ScriptContext;

import javax.script.ScriptEngineFactory;

public class Test {

public static void main(String[] args){

ScriptEngineManager mgr = new ScriptEngineManager();

List factories = mgr.getEngineFactories();

for (ScriptEngineFactory factory : factories)

{

System.out.println("ScriptEngineFactory Info");

String engName = factory.getEngineName();

String engVersion = factory.getEngineVersion();

String langName = factory.getLanguageName();

String langVersion = factory.getLanguageVersion();

System.out.printf("tScript Engine: %s (%s)n&

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值