当前位置: 首页 > 知识库问答 >
问题:

java循环使用一个公共名称的变量

吕高昂
2023-03-14

我试图用随机数创建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个答案

皇甫宇定
2023-03-14

你可以用地图。例如

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
尹乐邦
2023-03-14

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

景俊语
2023-03-14

你可以使用数组。

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

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]);
}

您可能还想查看ArrayList或HashMap类。

 类似资料:
  • 问题内容: 因此,我正在尝试做某事,不确定是否可能。我有以下代码: 我想做的是为{0..5}的每个实例分配一个唯一的变量,因此为每个变量名指定group1 group2 group3 group4。然后,我将./user0更改为./user$i并根据我的序列创建动态变量列表。这可能吗?尝试执行此操作时出现以下错误,但我不确定bash不喜欢自己实际执行了什么操作。 test.sh:第16行:grou

  • 我需要构造一组变量,其中变量应基于2部分构造:a)name b)一个用value[1]加强的数字。对于不断增加的数字,我使用了for循环。我设法创建了一个字符串,参见test1,但没有增加变量名称,参见test2。 鉴于下面提供的错误代码,我假设R不希望我使用变量名中的“paste0”来构造某些东西。 我的R代码: “测试1”的结果: 我得到的test2错误是: “test2”的预期结果是:

  • 我有一些变量的名字以数字结尾。现在我需要在一个循环中更改它们的值。 不是把所有的变量放入循环中,我想知道是否有一种方法可以在循环中生成变量的名称?也许是这样的? 我很确定我在什么地方见过类似的东西。做这件事最好的方法是什么?

  • 问题内容: 如何使用列表中的名称创建新变量?这个: 当然不行。我该怎么办? 我想做这个: 问题答案: 我认为更适合此目的: 但是,如果您仍然想即时创建变量,则可以使用:

  • 问题内容: 如何使用循环命名变量?例如,如果我想让变量 double_1 = 2 , double_2 = 4 一直到 double_12 = 24 ,我该怎么写?我感觉会是这样的: 显然,这是行不通的,但是将循环号实现为变量名的正确语法是什么?我已经有一段时间没有编码了,但是我确实记得有一种方法可以做到这一点。 问题答案: 请改用字典。例如: 或者,如果您 绝对 必须 这样做 ,并且仅在完全了解

  • 我正在做一个分配,对于其中一个方法,我希望每次调用该方法时都创建一个新的arraylist。 下面是我的方法 } 当我试图创建一个与java.lang.String id变量同名的ArrayList时,我得到了一个错误。但是,每次调用此方法时,我都希望创建一个ArrayList,该ArrayList的名称是id唯一的,以便以后可以使用它。例如,如果id是“Steve”,我可以将arrayList称