We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;enumTypeFoodEnum{PIZZA("Pizza","Fast Food"),CAKE("Cake","Dessert");privateStringname;privateStringordered;TypeFoodEnum(Stringname,Stringordered){this.name=name;this.ordered=ordered;}publicstaticStringgetName(TypeFoodEnumtypeFoodEnum){returntypeFoodEnum.name;}publicstaticStringgetOrdered(TypeFoodEnumtypeFoodEnum){returntypeFoodEnum.ordered;}}interfaceFood{StringgetFoodType();StringgetOrdered();}classPizzaimplementsFood{@OverridepublicStringgetFoodType(){returnTypeFoodEnum.getName(TypeFoodEnum.PIZZA);}@OverridepublicStringgetOrdered(){returnTypeFoodEnum.getOrdered(TypeFoodEnum.PIZZA);}}classCakeimplementsFood{@OverridepublicStringgetFoodType(){returnTypeFoodEnum.getName(TypeFoodEnum.CAKE);}@OverridepublicStringgetOrdered(){returnTypeFoodEnum.getOrdered(TypeFoodEnum.CAKE);}}classFoodFactory{publicFoodgetFood(Stringtype){if(TypeFoodEnum.getName(TypeFoodEnum.PIZZA).equalsIgnoreCase(type)){returnnewPizza();}elseif(TypeFoodEnum.getName(TypeFoodEnum.CAKE).equalsIgnoreCase(type)){returnnewCake();}else{returnnull;}}}publicclassSolution{privatestaticStringSTRING_FACTORY_ORDER="The factory returned class %s";privatestaticStringSTRING_SOMEONE_ORDER="Someone ordered a %s!";publicstaticvoidmain(String[]args){FoodFactoryfoodFactory=newFoodFactory();try(BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in))){StringtypeFodd=br.readLine().trim();Foodfood=foodFactory.getFood(typeFodd);System.out.println(String.format(STRING_FACTORY_ORDER,food.getFoodType()));System.out.println(String.format(STRING_SOMEONE_ORDER,food.getOrdered()));}catch(IOExceptione){System.out.println(e);}}}
Cookie support is required to access HackerRank
Seems like cookies are disabled on this browser, please enable them to open this website
Java Factory Pattern
You are viewing a single comment's thread. Return to all comments →
//Java 15