public static void main(String[] args) {
		System.out.println("Implemented practicals: ");
		final HashMap<Integer, File> practicalMap = new HashMap<>();
		for (final File f : practicals) {
			final String practicalNum = f.getName().substring("practical".length());
			//print out the practical num
			System.out.println("\t Practical " +
					practicalNum);
			try {
				//put it in a map
				practicalMap.put(Integer.parseInt(practicalNum), f);
			} catch (NumberFormatException e) {
				System.err.println("Error in practical package naming.");
				System.err.printf("\"%s\" is not a valid practical number. \n", practicalNum);
				return;
			}
		}
		Scanner scanner = new Scanner(System.in);
		int n = 0;
		while (n == 0) {
			System.out.print("Enter practical would you like to run: ");
			try {
				//scans for the next int
				n = scanner.nextInt();
				//its not in the map
				if (!practicalMap.containsKey(n)) {
					n = 0;
					System.err.println("That practical hasn't been implemented yet.");
				}
			} catch (InputMismatchException e) {
				//it was wrong
				System.err.println("That was not a valid practical!");
				scanner.next();
			}
		}
		try {
			//run the practical
			new TPOPPractical().run(n);
		} catch (ReflectiveOperationException | FileNotFoundException e) {
			e.printStackTrace();
		}
	}