2015-05-17 3 views
0

У меня возникли проблемы с очисткой следующей ошибки '(' или '[' ожидается во второй строке случая 2 и в случае 3. Код, который я написал, - newAnimal.displayInfo();java с использованием NetBeans IDE 8.0.2

Я не знаю, почему я получаю эту ошибку на случай 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 Penguin и new Tortoise, вам не хватает скобки и точка с запятой

+0

Спасибо! Кажется, иногда это мелочь, которая меня трогает. Будучи новичком, я понимаю, насколько важны детали. Еще раз спасибо! ваши отзывы были очень полезными. – nel

1

Похоже, вы пропустили круглые скобки после создания нового объекты. Так что это:

newAnimal = new Penguin 

должен стать этим:

newAnimal = new Penguin(); 

Это потому, что вы устанавливаете newAnimal новый экземпляр объекта Penguin, и создать этот новый экземпляр вы должны вызвать constructor из класс Penguin для создания объекта.

Также, как указано Jurko, ваш цикл while настроен неправильно.

while(-4 != quit); 

Вы должны удалить точку с запятой, в противном случае цикл будет неопределенно долго работать без выполнения кода у вас есть под ним. Правильный синтаксис для цикла while равен

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

Спасибо! Я нашел вашу обратную связь чрезвычайно полезной. Я так долго смотрел на код, что не заметил тех предметов, которые я забыл. Еще раз спасибо! – nel

Смежные вопросы