Java変数を評価する方法は?文字列が少ない文字列q1、q2、q3、q4、q5
for(i=1;i1<=5;i++){
//evaluate the value of q1,q2,q3,q4,q5
system.out.println(q+i); //should print q1,q2,q3,q4,q5 values concurrently
}
私を助けてください。
Java変数を評価する方法は?文字列が少ない文字列q1、q2、q3、q4、q5
for(i=1;i1<=5;i++){
//evaluate the value of q1,q2,q3,q4,q5
system.out.println(q+i); //should print q1,q2,q3,q4,q5 values concurrently
}
私を助けてください。
彼は、flash の actionscript と javascript の eval 関数について言及していると思います。
それを使用すると、次のようなことができます
for (i = 1; i <= 4; i++){
eval("func" + i + "( )");
}
func1()、func2()、func3()、func4() を呼び出します。同様に、文字列変数でこれを行うことができます。
Javaでこれを行うことはできません。これらの個別の変数をforループで出力する必要があると感じる場合は、最初にそれらを配列に入れるというEugeneの答えが最善の策です。
編集:私は自分の答えを入力していましたが、Ravinderの答えに気づきませんでした. その参照をありがとう。これまで ScriptEngine を使用したことがないので、確認する必要があります。
Javaリフレクションを使用して、クラス内の定義済みフィールドをチェックできます。
例えばClass.getField(String)
で関数にJava
相当するものを見つけようとしているようです。はいの場合、Java で eval を使用する
際の回答が役立つ場合があります。eval
JavaScript
このコードはコンパイルされません。印刷しようとしているのは、i の値でインクリメントされた変数 q の値です。q はなく、i の値は必要ありません。
代わりに Eugene Retunsky のソリューションを使用してください。