我有两个ArrayLists
[+, / , - ]
[12,8,5, 4]
我的代码:
for(int i=0; i<ops.length; i++){
String op = setOps.get(i);
double numer1 = Double.parseDouble(setNumbers.get(i));
double numer2 = Double.parseDouble(setNumbers.get(i+1));
System.out.println(numer1+op+numer2);
}
我的输出:
12.0+8.0
8.0/5.0
5.0-4.0
我可以将运算符附加到数字上,但它们不会评估。
答案 0 :(得分:1)
这不会那样。您需要让操作员使用您自己的代码执行操作。
示例:
if(op.equals("+") ) {
double result = numer1 + numer2;
}
System.out.println(result);
答案 1 :(得分:1)
使用java 8,您可以使用nashorn
import javax.script.*;
public class Calculate {
public static void main(String[] args) throws ScriptException {
String command = "1 / 2";
ScriptEngineManager scriptManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptManager.getEngineByName("nashorn");
Object result = scriptEngine.eval(command);
System.out.println("result " + result);
}
}
在您的情况下(数学运算)result
可以是Integer
或double
。但在其他情况下它可能是其他的东西。