Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java for循环数组列表不工作_Java_For Loop_Arraylist_Foreach - Fatal编程技术网

Java for循环数组列表不工作

Java for循环数组列表不工作,java,for-loop,arraylist,foreach,Java,For Loop,Arraylist,Foreach,我正在用Java制作一个塔防游戏,但是我对for循环和ArrayLists有一个问题。我在Tower.java类中有一段类似的代码(用于建筑,用于射击/防御的东西): 用于(敌人e:敌人){ 射击(); } 每当我的东西射击时,它们都会选择敌方.class的最后一个实例,并创建我的Bullet.java类的新实例,然后向敌方移动(arraylist中的最后一个)。我想要的是塔/建筑选择第一个或最近的一个并朝它射击。有什么办法吗 编辑: 这是我的Tower.java类: 这个问题和我在其他项目中

我正在用Java制作一个塔防游戏,但是我对for循环和ArrayLists有一个问题。我在Tower.java类中有一段类似的代码(用于建筑,用于射击/防御的东西):
用于(敌人e:敌人){
射击();
}

每当我的东西射击时,它们都会选择敌方.class的最后一个实例,并创建我的Bullet.java类的新实例,然后向敌方移动(arraylist中的最后一个)。我想要的是塔/建筑选择第一个或最近的一个并朝它射击。有什么办法吗

编辑:
这是我的Tower.java类:

这个问题和我在其他项目中遇到的问题差不多。基本上,遍历ArrayList中类的每个实例似乎都不是很好,因为无论我在循环中做什么,它都只影响ArrayList中类的最后一个实例

编辑:
显然,有人从pastebin中删除了敌人的.java粘贴,所以这里
同样是:

我通过添加以下代码行解决了这个问题:

如果(!敌方.removed&&敌军==level.friends.get(level.enemiesquired))

循环似乎不会改变射击方法的行为方式。显示射击方法的代码。你为每个敌人射击一次,但这并不意味着你向某个敌人射击。射击的具体位置();在for循环中调用的方法。我在任何地方都看不到它。@bot我们在看同一个循环吗?你的
for
循环不能是你发布在pastebin上的代码的一部分。有一种采用参数的拍摄方法。至少我没有找到一个没有参数的。所以你必须对你的问题更精确一点。仅仅说集合上的for循环只会影响最后一个元素是错误的。我向你保证,它会完全按照你告诉它的去做。