HJ54 表达式求值
描述
给定一个字符串描述的算术表达式,计算出结果值。
输入字符串长度不超过 100 ,合法的字符包括 ”+, -, *, /, (, )” , ”0-9” 。
数据范围:运算过程中和最终结果均满足 ∣val∣≤231−1 ∣val∣≤231−1 ,即只进行整型运算,确保输入的表达式合法
输入描述:
输入算术表达式
输出描述:
计算出结果值
示例 1
输入:
400+5
输出:
405
题解
import java.util.Scanner;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
// 注意 hasNext 和 hasNextLine 的区别
while (in.hasNext()) { // 注意 while 处理多个 case
// 输入算术表达式
String str = in.nextLine();
// 计算结果值
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByName("JavaScript");
try{
System.out.println(scriptEngine.eval(str));
}
catch(Exception e){
System.out.println(e);
}
}
}
}