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;
|
2015-11-11 20:20:04 -08:00
|
|
|
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:
|
2017-05-03 12:00:00 -06:00
|
|
|
SPRING_ROLLS
|
2015-06-15 17:47:35 -07:00
|
|
|
VINDALOO
|
2017-05-03 12:00:00 -06:00
|
|
|
FRUIT
|
|
|
|
DECAF_COFFEE
|
2017-04-16 10:18:21 -07:00
|
|
|
***
|
2017-05-03 12:00:00 -06:00
|
|
|
SOUP
|
|
|
|
VINDALOO
|
|
|
|
FRUIT
|
|
|
|
TEA
|
2017-04-16 10:18:21 -07:00
|
|
|
***
|
2017-05-03 12:00:00 -06:00
|
|
|
SALAD
|
2015-06-15 17:47:35 -07:00
|
|
|
BURRITO
|
2017-05-03 12:00:00 -06:00
|
|
|
FRUIT
|
|
|
|
TEA
|
2017-04-16 10:18:21 -07:00
|
|
|
***
|
2017-05-03 12:00:00 -06:00
|
|
|
SALAD
|
2015-06-15 17:47:35 -07:00
|
|
|
BURRITO
|
2017-05-03 12:00:00 -06:00
|
|
|
CREME_CARAMEL
|
2015-06-15 17:47:35 -07:00
|
|
|
LATTE
|
2017-04-16 10:18:21 -07:00
|
|
|
***
|
2017-05-03 12:00:00 -06:00
|
|
|
SOUP
|
|
|
|
BURRITO
|
|
|
|
TIRAMISU
|
|
|
|
ESPRESSO
|
2017-04-16 10:18:21 -07:00
|
|
|
***
|
2015-09-07 11:44:36 -06:00
|
|
|
*/
|