将String字符串中的数字和运算符输出
2017-09-25 18:39
197 查看
String类型的是不能进行数学运算的,但是int可以,所以可以通过java后台连接js进行转换
ScriptEngineManager sc=new ScriptEngineManager();
ScriptEngine engine=sc.getEngineByName("js");
Object obj=engine.eval(i);
Object obj1=engine.eval(j);
需要使用ScriptEngineManager API和ScriptEngine需求说明
1.已知集合:List<String> list
= new ArrayList<String>();
list.add("(23 - (10 / (2+3))) + 19");
list.add("(9 +1 0) / (3 - 2) * (4 + 7)");
2.对上面集合中的所有的算式进行运算,之后输出算式和结果。
3.输出记录都要写到自定义日志文件log.txt中.
自动用记事本打开日志文件log.txt, 然后程序结束.
备注:
· 日志文件中记录的是控制台的输出记录, 具体格式请参考下面的输出样例图;
· 集合中的算式包含加, 减, 乘, 除和小括号, 所有数值都是整数(int),
计算规则和java计算规则一致.
package Io;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Demo8 {
public static void main(String[] args) throws ScriptException, IOException
{
List<String> list=new ArrayList<String>();
list.add("(23-(10/(2+3)))+19");
list.add("(9+10)/(3-2)*(4+7)");
System.out.println("表达式为:"+"(23-(10-/(2+3)))+19");
String i=list.get(0);
String j=list.get(1);
ScriptEngineManager sc=new ScriptEngineManager();
ScriptEngine engine=sc.getEngineByName("js");
Object obj=engine.eval(i);
Object obj1=engine.eval(j);
System.out.println("求值结果为:"+obj);
System.out.println("表达式为:"+"(9+10)/(3-2)*(4+7)");
System.out.println("求值结果为:"+obj1);
//下面是将结果输出到硬盘上的记事本上
File ff=new File("C:/Users/Administrator/Desktop/log1.txt");
@SuppressWarnings("resource")
FileWriter out=new FileWriter(ff);
out.append("表达式为:"+"(23-(10-/(2+3)))+19"+"\r\n");
out.append("求值结果为:"+obj+"\r\n");
out.append("表达式为:"+"(9+10)/(3-2)*(4+7)"+"\r\n");
out.append("求值结果为:"+obj1+"\r\n");
out.close();
}
}
相关文章推荐
- 高精度运算专题-输出函数与字符串转数字函数(Output function and the string to number function)
- Python 字符串与数字输出方法
- 输入一个字符串只包含“0~10”和”,“找出最小的数字和最大的数字(可能不止一个),输出最后剩余数字的个数,如输入”3,3,4,5,6,7,7“
- C#自定义数字格式字符串输出示例
- C++编程题1——输入字符串,输出数字最小的值
- 华为计算字符个数写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
- 初学JAVA简谈字符串String存储的以及字符串值的比较(==运算符以及equals())
- Python对象的文档字符串(DocString):__doc__的写法和输出方法
- 剑指offer--字符串转数字 string to int
- C# Tostring 格式化输出字符串全解
- 将输入的数字字符串加金额分割符,输出
- 实验九用自定义的函数void f(char *line)统计和输出字符串中数字字符、英文字符和其他字符的个数。
- C# Tostring 格式化输出字符串全解
- LeetCode OJ 之 String to Integer (atoi字符串转数字)
- 从文件中查找特定字符串并转换为数字输出
- QString 使用 -- 输出, 数字 字符串 转换等
- 26进制,字母表示数字,以递归算法升序输出字符串
- 【Android笔记-异常-3】数字在TextView中显示一定要先转换为字符串。String.valueOf(数字)
- js变量声明,字符串转数字,运算符,控制流程语句
- 判断字符串string是数字、json结构、xml结构