我编写了以下代码:
for(int layer = 0; layer <countLayers; layer++);
{
List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}
当我编译这个片段时,我收到一个错误,在 for-Loop 中的行中,eclipse 提示“layer”是一个未知符号 [... = sceneGraph.getLayer(layer);] 并想要我引入字段/变量/...“层”。
但是当使用这个代码片段时,它是有效的。
int layer = 0;
for(layer = 0; layer <countLayers; layer++);
{
List<Sprite> spritesInLayer = sceneGraph.getLayer(layer);
}
有人知道我在第一个代码中缺少什么吗?或者这可能是 eclipse/java 编译器的某种错误?
我在 Win 7 64 位 Home Premium 和 Eclipse Helios 64 位(内部版本 20100617-1415)上使用 Java 6 JDK Update 20 64 位
最佳答案
改变
for(int layer = 0; layer <countLayers; layer++);
至
for(int layer = 0; layer <countLayers; layer++)
虚假的分号意味着 for 循环有一个空的循环体。以下 {....}
被解释为单独的语句。当然,layer
超出了该 block 的范围。
关于java - 在java中使用for循环时变量的范围 - eclipse/编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271139/