Java - "我"无法解决为变量问题

时间:2014-11-26 03:53:17

标签: java variables

我正在研究这个程序,并且我在Java Eclipse中不断收到这个错误,说"我无法解析变量。"当我试图获得输出时..

以下是相关代码。

for (int i = 0; i < animal.length; i++){
    animal[i].move();
    animal[i].makeSound();
    if (animal[i] instanceof Leopard)
        animal[i].findTree();
    if (animal[i] instanceof Bat)
        animal[i].locateInsect();
    if (animal[i] instanceof Chameleon)
        animal[i].changeColor();
}
System.out.println(animal[i].getName());
System.out.println();

这是显示错误的行,但我不确定为什么会导致错误消息。

    System.out.println(animal[i].getName());

2 个答案:

答案 0 :(得分:6)

for (int i = 0; i < animal.length; i++){
    //...
}
System.out.println(animal[i].getName());

您尝试引用创建它的for循环之外的i,因此它不存在。

只需将System.out.println(animal[i].getName());移到for循环中,如下所示:

for (int i = 0; i < animal.length; i++){
    //...
    System.out.println(animal[i].getName());
}

答案 1 :(得分:0)

您需要了解java变量范围的基础知识

http://www.java-made-easy.com/variable-scope.html