java 字符串的运算公式直接转计算结果

// 字符串的运算公式直接转计算结果
		public static void main(String[] args) {ScriptEngine se = new ScriptEngineManager().getEngineByName("JavaScript");String str = "2*3-45/5+9+9%5";try {Double d = (Double) se.eval(str);System.out.println(d);} catch (ScriptException e) {e.printStackTrace();}}

  

原文地址:https://www.cnblogs.com/wdw31210/p/9512924.html

时间: 2024-08-29 00:00:26

java 字符串的运算公式直接转计算结果的相关文章

Java执行字符串中的运算公式

在实现执行字符串中的运算公式时,采用了如下所示的代码: public static String StringfinalResult (String original) { try { String temp = (String)jse.eval(original); return temp; } catch (Exception t) { return null; } } 调用该函数后控制台输出为null 应修改为如下所示的代码: public static String Stringfina

hdu4927 Series 1(组合+公式 Java大数高精度运算)

题目链接: Series 1 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total Submission(s): 423    Accepted Submission(s): 146 Problem Description Let A be an integral series {A1, A2, . . . , An}. The zero-order series o

计算字符串表示的公式的值

题目: 输入一个字符串,该字符串表示一个公式,公式里可能有整数.加减乘除符号和左右括号,计算公式的结果.如输入"48*((70-65)-43)+8*1" ,返回整数-1816. 注意: 1.假设公式不会出错,既不用考虑左右括号不配对.出现非法字符等情况. 2.计算过程或结果不用考虑溢出. 3.输入的公式中只有整数,没有小数.整数可能有负数,负数需要用括号括起来,如 "(-3)+4" .在公式开头或括号部分的开头,负数可以没有括号,如 "-3*4"

Java字符串池(String Pool)深度解析(转)

出自  http://www.cnblogs.com/fangfuhai/p/5500065.html 在工作中,String类是我们使用频率非常高的一种对象类型.JVM为了提升性能和减少内存开销,避免字符串的重复创建,其维护了一块特殊的内存空间,这就是我们今天要讨论的核心,即字符串池(String Pool).字符串池由String类私有的维护. 我们知道,在Java中有两种创建字符串对象的方式:1)采用字面值的方式赋值  2)采用new关键字新建一个字符串对象.这两种方式在性能和内存占用方面

004 Java字符串的几个特性

在本系列教材的上一篇(003 Java字符串)中,对Java语言中String类的一些基本情况和整体架构进行了讲解和分析,相信大家已经很好地掌握了.本篇教程主要是补充一些String类的重要特性,帮助大家避免掉使用String过程中的一些陷阱. 首先,补充一个在JDK中使用非常频繁的概念:不可变类.所谓的不可变类是指该类的对象在生成以后就不会被改变了,关于不可变类的优点.缺点,特别是在Java并发编程时的优势,此处暂时略过不讲.那么如何定义一个不可变类呢?如果你有仔细观察String类的源码,你

java用double和float进行小数计算精度不准确

java用double和float进行小数计算精度不准确 大多数情况下,使用double和float计算的结果是准确的,但是在一些精度要求很高的系统中或者已知的小数计算得到的结果会不准确,这种问题是非常严重的. <Effective Java>中提到一个原则,那就是float和double只能用来作科学计算或者是工程计算,但在商业计算中我们要用java.math.BigDecimal,通过使用BigDecimal类可以解决上述问题,java的设计者给编程人员提供了一个很有用的类BigDecim

为什么Java字符串是不可变对象?

转自 http://developer.51cto.com/art/201503/468905.htm 本文主要来介绍一下Java中的不可变对象,以及Java中String类的不可变性,那么为什么Java的String类是不可变对象?让我们一起来分析一下. 答案一: 最流行的Java面试题之一就是:什么是不可变对象(immutable object),不可变对象有什么好处,在什么情况下应该用,或者更具体一些,Java的String类为什么要设成immutable类型? 不可变对象,顾名思义就是创

java 字符串拼接的单元测试

整体内容介绍 本文分为几个部分: * String.StringBuffer.StringBuilder的对比 * 字符串拼接方式的对比 使用到的内容: * Junit4单元测试 * slf4j的日志框架 String.StringBuffer.StringBuilder的对比 对于这三者使用的场景做如下概括(参考:<编写搞质量代码:改善java程序的151个建议>): String:在字符串不经常变化的场景中可以使用String类,如:常量的声明.少量的变量运算等. StringBuffer

Java语法基础--运算

常量是一些不变的数据,我们用变量的方式把常量给记录下来,变量是内存中一个空间,空间中可以存储某些类型的数据,变量还有一个好处,就是可以给一些常量取名称,方便阅读: 取模运算 就是取余数.模2运算,非0即1,用于切换. -3%6结果是-3 . 3%-6结果是3 . 负数运算参考左边符号. 对于除号"/",它的整数除和小数除是有区别的:整数之间做除法时,只保留整数部分而舍弃小数部分. 例如:int x=3510;x=x/1000*1000;  x的结果是3. 自增运算 ++ int a=3