2015-05-17 153 views
0

我在清除以下错误'('或'['期望情况2和情况3的第二行时出现问题。我写的代码是newAnimal.displayInfo();使用NetBeans IDE 8.0.2的java

我不知道为什么我得到的情况下,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; 
    } 
    } 
} 
} 

回答

1
while(-4 != quit); 

摆脱了分号,应该只是

while (-4 != quit) 
{ 
    /*Code here*/ 
} 

是的,当你有new Penguinnew Tortoise,你缺少的括号和分号

+0

谢谢!有时候它似乎是把我绊倒的小事情。作为一名初学者,我意识到细节是多么重要。再次感谢!您的反馈非常有帮助。 – nel

1

好像你正在创建新的后缺少括号对象。所以这个:

newAnimal = new Penguin 

应该成为这样的:

newAnimal = new Penguin(); 

这是因为你设置newAnimal到企鹅对象的新实例,并创建一个新的实例,你必须调用的constructor企鹅类创建对象。

此外,如Jurko所述,您的while循环设置不正确。

while(-4 != quit); 

您必须删除分号,否则循环将无限地运行,而不执行其下的代码。 while循环的正确语法是

while (-4 != quit) { 
    // Code to repeat here 
} 
+0

谢谢!我发现你的反馈非常有帮助。我在这么长时间的代码中看到我没有注意到我忽略的项目。再次感谢! – nel