如何評估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
}
請幫助我。
您可以使用java反射檢查類中定義的字段。
例如Class.getField(String)
此代碼不能編譯,您嘗試打印有一個變量q的值,用i的值增加什麼。沒有q,你不想要我的價值。
改爲使用Eugene Retunsky的解決方案。
看來你正在試圖找到一個Java
相當於eval
函數JavaScript
。
如果是的話,在using eval in Java的答案可能對您有所幫助。
我相信他指的是flash的actionscript和javascript的eval函數。
有了它,你可以做這樣的事情
for (i = 1; i <= 4; i++){
eval("func" + i + "()");
}
這將調用func1的(),FUNC2(),FUNC3(),FUNC4()。同樣,你可以用字符串變量來做到這一點
你不能在Java中這樣做,如果你覺得你必須用for循環打印這些單獨的變量,那麼你最好的選擇是首先將它們放入一個數組中Eugene's answer。
編輯: 我打了我的答案,沒有注意到Ravinder的答案。感謝您的參考。我以前從未使用過ScriptEngine,因此必須檢查它。
這不會工作..你是什麼意思通過評估變量? – vidit 2012-04-09 18:45:27
你是什麼意思「同時打印值?」 – 2012-04-09 18:45:42
如果這是作業,你可以添加一個「作業」標籤到你的問題 – 2012-04-09 18:46:37