以下是一份用在面试中的编程测试题。我认为这个问题有一个非常奇怪的非面向对象角度,想知道为什么有人会从这个角度来考虑构造函数。作为经验丰富的Java程序员,我立刻对编写这段代码的个人能力和奇怪的问题视角产生了质疑。
我发现在面试中出现这种脱离上下文的问题很令人不安。我希望得到其他经验丰富的OO Java程序员的反馈。
请完成Solver构造函数,使调用solveAll返回一个包括传入参数的平方根和倒数在内的2个值的列表。
public interface MathFunction {
double calculate(double x);
}
public class Solver {
private List<MathFunction> functionList;
public Solver() {
//Complete here
}
public List<Double> solveAll(double x) {
List<Double> result = new ArrayList<Double>();
for (MathFunction function : this.functionList) {
result.add(new Double(function.calculate(x)));
}
return result;
}
}
solveAll
。他们只是想看到你是否理解代码,以及你是否能够找出需要创建两个MathFunction
实现并将它们存储在列表中,以便稍后由solveAll
方法使用的方法。 - Alderath