JAVA计算表达式

JAVA计算数字表达式的值:

  • 利用JS来计算:
try {
      String s = "900000/(-(-200000-1000000-1000000))" ;//2200000
      ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript" );
      System. out.println(jse.eval(s).toString());
} catch (ScriptException e) {
      throw new IllegalArgumentException("计算错误",e);
}
  • 利用栈来计算 参考 栈计算表达式
    1. 将所有的数字放入List中(优先级别最高的放在最后),然后将运算符放入栈中(便于剔除左右括号),运算符级别最高的放在首位(最后直接拼接进List,优先级高的先运算)。将栈剔除左右括号,拼接进List。
    2. 在计算时,将数值全部放进一个新栈,遍历剩下的list(全是运算符),此时每次计算完都要把计算结果push()放进栈尾。便于pop()直接取出来。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 输入:每行输入一个表达式,运算符包含+-*/和括号,运算符和数字用空格隔开。如果需要扩充,其余运算符也可以直接再枚...
    lxhao阅读 4,808评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,767评论 18 399
  • 在某些情况下,我们需要对输入字符串表达式进行计算,例如一个字符串为:“1 + 2 * 3”,我们需要计算出它的结果...
    酸菜Amour阅读 1,560评论 0 6
  • 一、python 变量和数据类型 1.整数 Python可以处理任意大小的整数,当然包括负整数,在Python程序...
    绩重KF阅读 1,783评论 0 1
  • 开学前的这场大雪,好像在有意无意的渲染着什么,又或者在阻挡着什么,人们都在议论这场多年不见的大雪,可些纷纷飘落的雪...
    汉堡是晗宝阅读 405评论 0 2