我正在研究这个程序,并且我在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());
答案 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变量范围的基础知识