gpt4 book ai didi

java - For 语句不适用于每个数组元素?

转载 作者:行者123 更新时间:2023-12-02 07:04:51 24 4
gpt4 key购买 nike

这个问题与 Android/AndEngine 有关,但总体上与 Java 相关。

我有一个 for 循环,用于附加数组中的处理矩形。这是我的代码。

try {
if ((NPCrectangle.size() > 0) && (NPCbody.size() > 0)) {
System.out.println("NPCrectangle size is "+NPCrectangle.size());
for (int i = 0; i < NPCrectangle.size(); i++) {
System.out.println("For loop ran for NPCrectangle "+i);
for (int j = 0; j < NPCbody.size(); j++) {
NPCrectangle.get(i).setX(NPCbody.get(j).getPosition().x*32);
attachChild(NPCrectangle.get(i));
System.out.println("RECTANGLE ATTACHED FOR NPC"+i);
}
}
}
} catch (Exception e) {
// TODO: handle exception
}

System.out.println("NPCrectangle size is "+NPCrectangle.size());
for (int i = 0; i < NPCrectangle.size(); i++) {
System.out.println("For loop ran for NPCrectangle "+i);

我得到“NPCrectangle 大小为 2”,但随后我只得到“For 循环运行 NPCrectangle 0”。它永远不会对数组的第二个元素执行任何操作。这是为什么?

这是我的收获:

04-25 18:45:45.420: W/System.err(2235): java.lang.IllegalStateException: pEntity 'Rectangle' already has a parent: 'GameScene'. New parent: 'GameScene'!
04-25 18:45:45.420: W/System.err(2235): at org.andengine.entity.Entity.assertEntityHasNoParent(Entity.java:1707)
04-25 18:45:45.420: W/System.err(2235): at org.andengine.entity.Entity.attachChild(Entity.java:907)

当您尝试两次附加同一个 Sprite 时,这是一个错误。有建议吗?

最佳答案

这个循环

for (int j = 0; j < NPCbody.size(); j++) {
NPCrectangle.get(i).setX(NPCbody.get(j).getPosition().x*32);
attachChild(NPCrectangle.get(i));
System.out.println("RECTANGLE ATTACHED FOR NPC"+i);

运行多次,具体取决于NPCbody.size(),但会附加相同的矩形。 NPCrectangle.get(i),每次。因此,您第二次通过内部循环时会收到错误。

关于java - For 语句不适用于每个数组元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16225758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com