我正在尝试为我的类(class)编写一个 30 行或更少的程序( self 挑战)。
程序向用户询问一个简单的加法、除法、乘法或减法问题,然后玩家回答、冲洗并重复 10 次,然后询问玩家是否他们想继续或结束该计划。问题类型(add、mult 等)应随机选择。
这样我就不需要使用巨大的 switch case 或 if-else 树,我想知道是否有任何方法可以在变量中包含运算符,然后再使用它。
例子:
var operator = +;
int[] n = {1, 2};
System.out.println(n[0] operator n[1]);
输出为“3”
这是我想要做的事情的一个例子。这可能吗?
最佳答案
不,你不能直接这样做。您必须创建一个代表运算符的类型。
最常见的方法是使用枚举:
enum Operator {
PLUS {
@Override int operate(int a, int b) {
return a + b;
}
};
abstract int operate(int a, int b);
}
Operator operator = Operator.PLUS;
int[] n = {1, 2};
System.out.println(operator.operate(n[0], n[1]));
关于java - 如何在 Java 中创建包含运算符的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71786776/