如何评估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