0

単純なようで、おそらく簡単に対処する方法があると思われる点で行き詰まっていますが、とにかく助けが必要です。

ユーザーの選択に応じて動的に選択する必要がある一連の定数を使用して数式を評価する必要があります。コードを参照してください:

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: はい、ばかげた質問かもしれませんが、私は学んでいます!

4

1 に答える 1

1

配列内の定数を宣言する問題は実際にはわかりません。

ただし、本当に反対の場合は、セレクター文字列を取り込んで定数を返すヘルパー関数を作成できます。これにより、コードがよりクリーンになる可能性があります

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); 
}

この方法の利点は、定数を必要とするすべての関数ではなく、セレクターから定数を選択するためのロジックが1か所にあることです。

于 2013-03-10T19:32:15.150 に答える