Java能不能用变量保存运算符

各位大牛,我想实现这么一种功能,就是把四则运算符用变量保存起来。使用的时候用变量代替相应的运算符,举个例子就是把+赋值给变量a,使用的时候1 a 2即可实现等于3,如何实现这种运算?

4个回答

 可以,使用接口可以实现
interface MyOpt
{
    int calc(int a, int b);
}
class Add implements MyOpt
{
public int calc(int a, int b) { return a + b; }
}
class Sub implements MyOpt
{
public int calc(int a, int b) { return a - b; }
}

使用
MyOpt a = new Add();
int c = a.calc(1, 2);
MyOpt a = new Sub();
int d = a.calc(1, 2);
这里的a就相当于运算符。

MyOpt a = new Sub();
->
a = new Sub(); // 把a从+改为-

 你可以写一个工厂方法
MyOpt getOperator(char c)
{
if (c == '+') return new Add();
if (c == '-') return new Sub();
...
throw new Exception("invalid character");
}

这样就可以写
MyOpt a = getOperator('+');

可以用case语句,映射你的输入到对应的操作 。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问