如何评估变量

时间:2012-04-09 18:43:45

标签: java

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

请帮帮我。

5 个答案:

答案 0 :(得分:7)

使用数组:

 String[] q = {q1, q2, q3, q4, q5};
 for (String s : q) 
    System.out.println(s);

答案 1 :(得分:1)

我相信他指的是flash的actionscript和javascript中的eval函数。

有了它,你可以做像

这样的事情
for (i = 1; i <= 4; i++){
     eval("func" + i + "( )");
}

哪个会调用func1(),func2(),func3(),func4()。类似地,您可以使用字符串变量执行此操作。

你不能用Java做到这一点,如果你觉得必须用for循环打印这些单独的变量,那么你最好的选择是Eugene's answer将它们放在数组中。

编辑: 我正在输入我的答案而没有注意到Ravinder的答案。谢谢你的参考。我以前从未使用过ScriptEngine而且必须检查它。

答案 2 :(得分:0)

您可以使用java反射来检查类中的已定义字段。

例如Class.getField(String)

答案 3 :(得分:0)

此代码无法编译,您尝试打印的是变量q的值,以i的值递增。没有q,你不想要i的值。

使用Eugene Retunsky的解决方案。

答案 4 :(得分:0)

您似乎正试图在Java中找到eval相当于JavaScript的功能。
如果是,using eval in Java的答案可能会对您有所帮助。