java循环遍历具有公共名称的变量

java循环遍历具有公共名称的变量,java,string,for-loop,int,processing,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 }; for(int i=0;i

我试图用随机数创建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
};
for(int i=0;i<20;i+=i){
int name=int(“Foo”+i)
名称=随机(100500);
image(blabla,blabla,name);//blabla是固定坐标
};

但是,我无法让它工作。
你们知道怎么解决这个问题吗?


提前谢谢

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

您可以使用数组

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

int[] r = {1, 2, 3};
int x = r[0];
是处理数组引用

以下是您在示例中可以如何做到这一点:

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]);
}
PImage[]图像=新的PImage[20];
图像[0]=加载图像(…);
//…加载其余的图像
对于(int i=0;i<20;i+=i){
图像(blabla,blabla,images[i]);
}

您可能还需要查看或类。

您可以使用Map。比如说

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
Map vars=newhashmap();
对于(int i=0;i<10;i++)
变量put(“Foo”+i,(int)Math.round(Math.random()*500)+100);
System.out.println(vars.get(“Foo8”);//访问Foo8值

基本上,不要这样做。而是创建一个数组。然后可以使用
foo[i]=random(100500)
etc.int name=int(“Foo”+i)和name=Math.random(100500)不编译。这可能是问题的一部分。@PaulJAbernathy这是处理,不是严格的Java。非常感谢!它起作用了,而且似乎比我做的方式更合适。