我陷入了一个看似简单的问题,并且可能有一种简单的方法来应对它,但无论如何我都需要帮助。
我需要使用一组常量来评估公式,这些常量应根据用户的选择动态选择。见代码:
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...;
}
我知道我可以使用一组双打并传递给doSomething()数组上的位置,但这是非常硬编码的,我真的不喜欢这样做。
有没有办法动态引用constOne,constTwo等?谢谢!
PS:是的,我知道这可能是一个愚蠢的问题,我正在学习!答案 0 :(得分:1)
我真的没有看到在数组中声明常量的问题。
但是如果你真的反对,你可以编写一个辅助函数,它将接受选择器String并返回常量。这可以使您的代码更清晰
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);
}
这样做的好处是,从选择器中选择常量的逻辑可以在一个地方而不是在需要常量的所有函数中。