Menu.java (828B)
1 package Monster; 2 3 import java.util.*; 4 5 6 public class Menu { 7 private ArrayList<MenuItem> items; 8 Scanner sc; 9 10 public Menu() { 11 items = new ArrayList<>(); 12 sc = new Scanner(System.in); 13 } 14 15 public void addEntry(MenuItem item) { 16 this.items.add(item); 17 } 18 19 public Pair<String, String> runMenu() { 20 for (;;) { 21 System.out.print("\n"); 22 for (MenuItem item : items) 23 System.out.println(item.toString()); 24 System.out.print("> "); 25 26 String in = sc.nextLine().toUpperCase(); 27 if (in.length() != 1 && in.charAt(2) != ' ') { 28 System.err.println("Input should be 1 charater"); 29 continue; 30 } 31 32 for (MenuItem item : items) { 33 if (in.charAt(0) == item.getCmd()) 34 return new Pair<String, String>(in.substring(0, 1), in.substring(1)); 35 } 36 37 System.err.printf("Unknown item %c\n", in.charAt(0)); 38 } 39 } 40 }