我有2个整数:
int first= 10;
int second = 20;
Run Code Online (Sandbox Code Playgroud)
和表示操作(之一的字符串+,-,/,或*):
String op = "+";
Run Code Online (Sandbox Code Playgroud)
如何在此示例中获得10 + 20的结果?
Mau*_*cio 13
我不推荐这个,但很有趣.在java6中
String op = '+';
int first= 10;
int second = 20;
ScriptEngineManager scm = new ScriptEngineManager();
ScriptEngine jsEngine = scm.getEngineByName("JavaScript");
Integer result = (Integer) jsEngine.eval(first+op+second);
Run Code Online (Sandbox Code Playgroud)
请使用开关,但请记住将字符串运算符转换为char,因为switch还不能使用字符串.
switch(op.charAt(0)){
case '+':
return first + second;
break;
// and so on..
Run Code Online (Sandbox Code Playgroud)
switch (op.charAt(0)) {
case '+': return first + second;
case '-': return first - second;
// ...
}
Run Code Online (Sandbox Code Playgroud)