我被困在一个看似简单的地方,可能有一个简单的方法来处理它,但我还是需要帮助。
我需要使用一组常量来计算公式,这些常量应该根据用户的选择动态地选择。查看代码:
double constOne=2.3, constTwo=1.1, constThree=1.7...; //and so on
public double doSomething(int inputOne, String selection){
//being const... one of the double vars defined above,
//selected based on the String selection
return inputOne*const...;
}
我知道我可以使用double类型的数组并将数组的位置传递给doSomething()来实现这一点,但这是非常硬编码的,我真的不喜欢这样做。
是否有一种方法可以动态地引用constOne, constTwo等?谢谢!PS:是的,我知道这可能是一个愚蠢的问题,我正在学习!我不觉得在数组中声明常量有什么问题。
然而,如果你真的反对,你可以写一个辅助函数,它将接受选择器字符串并返回常量。这可以使您的代码更干净
double getConstant(String selector) {
// some logic
}
那么你的其他函数会更简洁一些
public double doSomething(int inputOne, String selection){
//being const... one of the double vars defined above,
//selected based on the String selection
return inputOne * getConstant(selection);
}
这样做的好处是,从选择器中选择常量的逻辑将在一个地方,而不是在所有需要常量的函数中。