75 lines
1.5 KiB
Java
Raw Normal View History

2015-09-07 11:44:36 -06:00
// enums/menu/Meal2.java
2016-12-30 17:23:13 -08:00
// (c)2017 MindView LLC: see Copyright.txt
2015-11-15 15:51:35 -08:00
// We make no guarantees that this code is fit for any purpose.
2016-09-23 13:23:35 -06:00
// Visit http://OnJava8.com for more book information.
2016-07-28 12:48:23 -06:00
// {java enums.menu.Meal2}
2015-06-15 17:47:35 -07:00
package enums.menu;
import onjava.*;
2015-06-15 17:47:35 -07:00
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);
}
2017-04-16 10:18:21 -07:00
System.out.println("***");
2015-06-15 17:47:35 -07:00
}
}
2015-09-07 11:44:36 -06:00
}
/* Output:
2016-07-22 14:45:35 -06:00
SALAD
2015-06-15 17:47:35 -07:00
VINDALOO
2016-07-22 14:45:35 -06:00
GELATO
CAPPUCCINO
2017-04-16 10:18:21 -07:00
***
2016-07-22 14:45:35 -06:00
SPRING_ROLLS
BURRITO
GELATO
HERB_TEA
2017-04-16 10:18:21 -07:00
***
2016-07-22 14:45:35 -06:00
SPRING_ROLLS
2015-06-15 17:47:35 -07:00
BURRITO
2016-07-22 14:45:35 -06:00
TIRAMISU
CAPPUCCINO
2017-04-16 10:18:21 -07:00
***
2016-07-22 14:45:35 -06:00
SPRING_ROLLS
2015-06-15 17:47:35 -07:00
BURRITO
2016-07-22 14:45:35 -06:00
BLACK_FOREST_CAKE
2015-06-15 17:47:35 -07:00
LATTE
2017-04-16 10:18:21 -07:00
***
2016-07-22 14:45:35 -06:00
SALAD
PAD_THAI
GELATO
TEA
2017-04-16 10:18:21 -07:00
***
2015-09-07 11:44:36 -06:00
*/