2016-10-14 4 views
0
import java.util.Scanner; 

public class GrocerySorter { 
    public enum GroceryItem {GR_APPLES, GR_BANANAS, GR_JUICE, GR_WATER}; 
     public static void main (String [] args) { 

     GroceryItem userItem = GroceryItem.GR_APPLES; 

     if (userItem == GroceryItem.GR_APPLES) { 
      System.out.println("Fruit"); 
      } 
     else if (userItem == GroceryItem.GR_BANANAS) { 
      System.out.println("Fruit"); 
      } 
     else if (userItem == GroceryItem.GR_JUICE) { 
      System.out.println("Drink"); 
      } 
     else if (userItem == GroceryItem.GR_WATER) { 
      System.out.println("Drink"); 
      } 
     else 
      System.out.println("Drink"); 
      } 
     return; 
    } 
} 

Я получаю сообщения об ошибках для строк 24 и 26 (Последние и от второго до последнего).Я работаю над перечислениями, и получаю ошибки

GrocerySorter.java:24: незаконный старт типа return; ^

GrocerySorter.java:26: класс, интерфейс или перечисление ожидается }

+7

Вы забыли '{' после окончательного 'else'. Таким образом, следующий '}' фактически закрывает метод. – resueman

+0

в качестве дополнительной рекомендации, вы можете использовать переключатель для этого случая, это сделает код чище и, надеюсь, предотвратит такие ошибки. – Slava

+0

'return;' заявление бесполезно. Убери это. –

ответ

2

Вы не хватает {после окончательного еще.

Кроме того, я рекомендую использовать switch вместо if else.

switch (userItem) { 
     case GR_APPLES: 
     System.out.println("Fruit"); 
     break; 
     case GR_BANANAS: 
     System.out.println("Fruit"); 
     break; 
     default: 
     break; 
    } 
+1

Это сработало! Спасибо, ребята, я ценю это. Переключатель будет работать лучше, я буду помнить это в следующий раз! – Daniel

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