java循环遍历具有公共名称的变量
我试图用随机数创建10个变量,所有变量都以同一个单词开头,比如: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
-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。非常感谢!它起作用了,而且似乎比我做的方式更合适。