我无法清除情况2和情况3第二行中的以下错误'('或'['。我编写的代码是newAnimal.displayInfo();。
我不确定为什么在情况2和3上会出现此错误,但在情况1上却没有。我不确定我在做什么错。任何帮助/指导将不胜感激。
代码如下所示:
package animalinfo;
import java.util.Scanner;
public class AnimalInfo
{
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
// TODO code application logic here
Scanner input = new Scanner (System.in);
Animal newAnimal;
int quit = 4;
while(-4 != quit);
{
System.out.println("\n1) Camel" +
"\n2)Penguin" +
"\n3) Tortoise" +
"\n4) Exit Program.");
System.out.print("Please select an amimalfrom the list.");
int choice = input.nextInt();
switch (choice)
{
case 1:
newAnimal = new Camel();
newAnimal.displayInfo();
break;
case 2:
newAnimal = new Penguin
newAnimal.displayInfo();
break;
case 3:
newAnimal = new Tortoise
newAnimal.displayInfo();
break;
case 4:
System.out.println ("Thank you for making your selections.");
break;
}
}
}
}
最佳答案
创建新对象后,似乎缺少括号。所以这:
newAnimal = new Penguin
应该变成这个:
newAnimal = new Penguin();
这是因为要将newAnimal设置为Penguin对象的新实例,并且要创建该新实例,必须调用Penguin类的constructor来创建该对象。
同样,如Jurko所述,您的while循环设置不正确。
while(-4 != quit);
您必须删除分号,否则循环将无限期地运行而不执行您在其下的代码。 while循环的正确语法是
while (-4 != quit) {
// Code to repeat here
}