所以我是编程新手,并且在类(class)方面遇到一些问题。我正在使用下一 block 砖的镜头。库中有一个名为 Node 的类。它需要 X 和 Y。就像这样:
节点nodeNameOne = new Node(2,3);
我想做的事:
我有一个 12 x 12 数组。对于数组中的每个位置,我想获取它的 X 和 Y 并创建一个新节点。问题是我想自动更改“nodeNameOne”。
我的解决方案是创建一个 intiger 变量并递增它,然后执行一个 .to 字符串并将其用作节点名称,当我使用 intiger 变量名称时,它使用变量的名称而不是变量中的值。
我看过其他需要使用“Class.newInstance”的帖子,但我无法让它工作。
感谢任何帮助。 谢谢
更新:
我有一个 12 x 12 数组。我将扫描数组,当我在数组的任何位置检测到 0 时,我想使用数组位置的 X 和 Y 创建一个新节点。
因为它是一个 12 x 12 数组,所以有 144 个可能出现 0 的位置。 因此,创建新的 is 节点所需的代码是: 节点节点名 = new Node(x,y);
我想自动化实例名称:“nodeName”以使用字符串变量,我将从以下位置获取该变量:
int nameOfNode= 0;
String temp = Integer.toString(nameOfNode);
Node temp = new Node(x,y);
nameOfNode++;
我得到的错误是它说 temp 已被使用,但我知道这一点。我希望它使用 temp 的值而不是名称“temp”。 - 我希望这更清楚。
最佳答案
你想要的可能是一个数组。二维数组是 (i,j) --> Node[i][j]:
的映射// Step 1 and 2: Create and add nodes
Node nodes[12][12];
for (int i = 0; i < 12; i++) {
for (int j = 0; j < 12; j++) {
nodes[i][j] = new Node(i, j);
mesh.add(nodes[i][j], 0);
}
}
然后您可以使用数字(或整数变量)引用节点:
// Step 3: Connect nodes:
mesh.connect(nodes[2][3], nodes[2][4]);
mesh.connect(nodes[2][3], nodes[3][3]);
mesh.connect(nodes[2][4], nodes[2][5]);
...
关于java - 使用变量名称创建类的新实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40974176/