uni

Thing1's amazing uni repo
Log | Files | Refs | Submodules

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 }