java将字符串转成算术表达式

一般涉及算都会用到配置,在后台进行配置,但是基本上会纠结于怎么传值进去并进行判断输出数据

package com.study.day01;

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

public class ExpressTest {

public static void test1() throws ScriptException {
//str是数据库里定义的一个公式
String str = "x<=1?5:x<=2?10:x<=5?15:20";
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("js");
//键值对的形式,将(7),这里的7是一个常量,但是项目中这个数值是一个变量
engine.put("x", 7);
Object result = engine.eval(str);
System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:"
+ result);
}

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

}
}

时间: 2024-08-15 14:41:18

java将字符串转成算术表达式的相关文章

Java将字符串转成二进制码

public void toBinary(){ String str = "王雪"; char[] strChar=str.toCharArray(); String result=""; for(int i=0;i<strChar.length;i++){ result +=Integer.toBinaryString(strChar[i])+ " "; } System.out.println(result); } 输出结果为:1110

java json字符串转成 Map或List

import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 说明 json字符串 转成 Map/List * @author xss * @date 2013-1-18 10:22:41 * @mail [email protected] */ public class Json

java实现计算算术表达式的值(后缀表达式方式)

Java代码   package zn.sd.ly.jtree.test; /** * 表达式 * * @author 风华褚胜--刘胜军 */ import java.util.Arrays; import java.util.Scanner; import java.util.Stack; public class Four { @SuppressWarnings("resource") public static void main(String[] args) { Scanne

java实现算术表达式求值

需要根据配置的表达式(例如:5+12*(3+5)/7.0)计算出相应的结果,因此使用java中的栈利用后缀表达式的方式实现该工具类. 后缀表达式就是将操作符放在操作数的后面展示的方式,例如:3+2 后缀表达式为32+,3*(2+1)的后缀表达式为:321+*,解决表达式求值首先需要根据字符串表达式求出后缀表达式,然后使用后缀表达式和操作数栈实现计算,计算的大致思想是从后缀表达式中取元素,如果元素是数值则加入到操作数栈中,如果是运算符则从操作数栈中取两个数来参与运算.后缀表达式的获取要借助于两个栈

运用栈把算术表达式+,-,*,/,%(中缀表达式)转换成后缀表达式并且计算出值

原理: 1.首先判断是数值还是符号,如果是数值放进字符数组以#表示结束, 2.如果是符号,放进栈, 3.每个符号之间要比较优先级,如果栈顶符号优先级低,符号进栈,如果相等(即“(” “)”)出栈,栈顶符号优先级高,栈顶元素出栈进入字符数组,得到后缀表达式 4.计算后缀表达式,判断是数字还是符号.直到遇到符号,将前面的数字计算后放进栈,一直重复,知道“\0” 代码(局限用整数,因为有模运算,若要任何类型的代码,我的blog有) 1 #include <stdio.h> 2 #include &l

JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中

处理JSON字符串时,一直出错,写个样例后发现原来是没有弄清楚数据的格式问题. 实现的是 JSONString 转换成java对象 或是 list列表 实例类 News package lyx.entity; /** * @author lyx * * 2015-8-10上午10:14:38 * * *新闻类 */ public class News { /** * 日期 */ private String date; /** * 链接 */ private String link; /** *

java面试题,将String字符串转换成数字

题目要求:将String字符串转换成数字,不能用java自带的方法转换字符串,要求自己写一个atoi(String s),如果输入的不是数字则返回0. import java.util.Scanner; /** * Created by Dell on 2014/7/14. * * 面试题 * 将字符串转换成数字,不用java自带的方法 */ public class MianShi_01 { public static void main(String[] args) { Scanner in

【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】

[008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][所有题目目录索引] 原题 Implement atoi to convert a string to an integer. Hint: Carefully consider all possible input cases. If you want a challenge, please do not see below and ask yourself what

【深入JAVA】将Json字符串转换成Map/List

在阅读的过程中有任何问题,欢迎一起交流 邮箱:[email protected] QQ:1494713801 Java代码 package jsonToMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** * 说明 json字符串 转成 Map/List * @aut