Added 25 solutions

This commit is contained in:
rshaghoulian
2017-02-24 00:24:47 -06:00
parent 05ce4b1476
commit af8c2969a4
50 changed files with 1562 additions and 277 deletions
@@ -0,0 +1,72 @@
// Author: Rodney Shaghoulian
// Github: github.com/rshaghoulian
// HackerRank: hackerrank.com/rshaghoulian
import java.util.*;
import java.security.*;
interface Food {
public String getType();
}
class Pizza implements Food {
public String getType() {
return "Someone ordered a Fast Food!";
}
}
class Cake implements Food {
public String getType() {
return "Someone ordered a Dessert!";
}
}
class FoodFactory {
public Food getFood(String order) {
switch (order.toLowerCase()) {
case "pizza":
return new Pizza();
case "cake":
return new Cake();
default:
return null;
}
} // End of getFood method
} // End of factory class
public class Solution {
public static void main(String args[]) {
Do_Not_Terminate.forbidExit();
try {
Scanner sc = new Scanner(System.in);
//creating the factory
FoodFactory foodFactory = new FoodFactory();
//factory instantiates an object
Food food = foodFactory.getFood(sc.nextLine());
System.out.println("The factory returned " + food.getClass());
System.out.println(food.getType());
} catch (Do_Not_Terminate.ExitTrappedException e) {
System.out.println("Unsuccessful Termination!!");
}
}
}
class Do_Not_Terminate {
public static class ExitTrappedException extends SecurityException {
private static final long serialVersionUID = 1L;
}
public static void forbidExit() {
final SecurityManager securityManager = new SecurityManager() {
@Override
public void checkPermission(Permission permission) {
if (permission.getName().contains("exitVM")) {
throw new ExitTrappedException();
}
}
};
System.setSecurityManager(securityManager);
}
}