java循环使用通用名称的变量

时间:2015-09-30 14:30:07

标签: java string for-loop int processing

我试图用随机数创建10个变量,所有变量都以相同的单词开头,如:
- Foo1
- Foo2
- Foo3
- Foo4

我尝试的是:

for(int i = 0; i < 20; i += i){
  int name = int("Foo" + i)
  name = random(100, 500);
  image(blabla, blabla, name);  //the blabla are fixed coordinates
};


但是,我无法让它发挥作用 你们知道如何解决这个问题吗?

提前致谢!

3 个答案:

答案 0 :(得分:0)

如果要以编程方式访问变量,则必须使用反射,但对于除经验丰富的程序员设计高级API之外的任何人来说,它都不是一个好的解决方案。 您应该为变量使用ArrayList。

答案 1 :(得分:0)

您可以使用数组。

数组是一个包含多个值的变量。

int[] r = {1, 2, 3};
int x = r[0];

Here是Processing数组引用。

以下是您在示例中的操作方法:

PImage[] images = new PImage[20];
images[0] = loadImage(...);
//..load rest of images

for(int i = 0; i < 20; i += i){
  image(blabla, blabla, images[i]);
}

您还可以查看ArrayListHashMap类。

答案 2 :(得分:-1)

您可以使用地图。例如

Map<String, Integer> vars = new HashMap<String, Integer>();

for(int i = 0; i < 10; i ++)
    vars.put("Foo" + i, (int) Math.round(Math.random() * 500) + 100);

System.out.println(vars.get("Foo8")); // Accessing to Foo8 value