44 lines
1.1 KiB
Java
44 lines
1.1 KiB
Java
|
//: enumerated/menu/Meal2.java
|
||
|
package enumerated.menu;
|
||
|
import net.mindview.util.*;
|
||
|
|
||
|
public enum Meal2 {
|
||
|
APPETIZER(Food.Appetizer.class),
|
||
|
MAINCOURSE(Food.MainCourse.class),
|
||
|
DESSERT(Food.Dessert.class),
|
||
|
COFFEE(Food.Coffee.class);
|
||
|
private Food[] values;
|
||
|
private Meal2(Class<? extends Food> kind) {
|
||
|
values = kind.getEnumConstants();
|
||
|
}
|
||
|
public interface Food {
|
||
|
enum Appetizer implements Food {
|
||
|
SALAD, SOUP, SPRING_ROLLS;
|
||
|
}
|
||
|
enum MainCourse implements Food {
|
||
|
LASAGNE, BURRITO, PAD_THAI,
|
||
|
LENTILS, HUMMOUS, VINDALOO;
|
||
|
}
|
||
|
enum Dessert implements Food {
|
||
|
TIRAMISU, GELATO, BLACK_FOREST_CAKE,
|
||
|
FRUIT, CREME_CARAMEL;
|
||
|
}
|
||
|
enum Coffee implements Food {
|
||
|
BLACK_COFFEE, DECAF_COFFEE, ESPRESSO,
|
||
|
LATTE, CAPPUCCINO, TEA, HERB_TEA;
|
||
|
}
|
||
|
}
|
||
|
public Food randomSelection() {
|
||
|
return Enums.random(values);
|
||
|
}
|
||
|
public static void main(String[] args) {
|
||
|
for(int i = 0; i < 5; i++) {
|
||
|
for(Meal2 meal : Meal2.values()) {
|
||
|
Food food = meal.randomSelection();
|
||
|
System.out.println(food);
|
||
|
}
|
||
|
System.out.println("---");
|
||
|
}
|
||
|
}
|
||
|
} /* Same output as Meal.java *///:~
|