Untitled

 avatar
unknown
java
a year ago
4.9 kB
8
Indexable
import java.util.InputMismatchException;
import java.util.Scanner;

public class ClassroomBookingApp {

    // Create new Scanner object
    private static final Scanner INPUT = new Scanner(System.in);

    // Display Main Menu
    private static void printMainMenu() {
        System.out.println("*".repeat(50));
        System.out.println("Welcome to Classroom Booking Application");
        System.out.println("*** Main Menu ***");
        System.out.println("1. Manage Classrooms");
        System.out.println("2. Manage Lecturers");
        System.out.println("3. Manage Bookings");
        System.out.println("4. Generate Reports");
        System.out.println("0. Exit");
        System.out.println("*".repeat(50));
    }
    
    // Display Classrooms Menu
    private static void printClassroomsMenu() {
        System.out.println("*".repeat(50));
        System.out.println("Welcome to Classroom Booking Application");
        System.out.println("*** Classrooms Menu ***");
        System.out.println("1. Create Classroom");
        System.out.println("2. Update Classroom");
        System.out.println("3. Delete Classroom");
        System.out.println("4. View All Classrooms");
        System.out.println("5. Back to Main Menu");
        System.out.println("*".repeat(50));
    }
    
    private static void printLecturersMenu() {
        System.out.println("*".repeat(50));
        System.out.println("Welcome to Classroom Booking Application");
        System.out.println("*** Lecturers Menu ***");
        System.out.println("1. Add Lecturer");
        System.out.println("2. Edit Lecturer");
        System.out.println("3. Remove Lecturer");
        System.out.println("4. View All Lecturers");
        System.out.println("5. Back to Main Menu");
        System.out.println("*".repeat(50));
    }
    
    private static void printBookingsMenu() {
        System.out.println("*".repeat(50));
        System.out.println("Welcome to Classroom Booking Application");
        System.out.println("*** Bookings Menu ***");
        System.out.println("1. Make a Booking");
        System.out.println("2. Cancel a Booking");
        System.out.println("3. View All Bookings");
        System.out.println("4. Back to Main Menu");
        System.out.println("*".repeat(50));
    }

    private static void printReportsMenu() {
        System.out.println("*".repeat(50));
        System.out.println("Welcome to Classroom Booking Application");
        System.out.println("*** Reports Menu ***");
        System.out.println("1. Generate Bookings Report by Date");
        System.out.println("2. Generate Bookings Report by Classroom");
        System.out.println("3. Generate Bookings Report by Lecturer");
        System.out.println("4. Generate Total Number of Bookings");
        System.out.println("5. Back to Main Menu");
        System.out.println("*".repeat(50));
    }
        
    // Get User's Menu Option Input
    private static int getOptionInput() {
        boolean validInput = false;
        int menuOption = -1;

        // First Prompt to Obtain Input
        System.out.print("Please select an option to continue: ");
        while (!validInput) {
            try {

                // Obtain Input
                menuOption = INPUT.nextInt();

                // Check Input Range
                switch(menuOption) {
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                        break;
                    default:
                        System.out.println("Hey! You entered an invalid option!");
                        System.out.print("Please reselect an VALID option: ");
                        continue;
                }
                validInput = true;

                // If Input Isn't Integer
            } catch (InputMismatchException e) {
                System.out.println("Hey! You entered an invalid option!");
                INPUT.next(); // Clear Invalid Input
                System.out.print("Please reselect an VALID option: ");
            }
        }
        return menuOption; // Return Valid Input
    }

    // Main Method
    public static void main(String[] args) {

        // Display Main Menu
        printMainMenu();
        
        // Obtain Main Menu Option from User
        int menuOption = getOptionInput();
        
        switch (menuOption) {
            case 1: // Manage Classrooms
                printClassroomsMenu();
                break;
            case 2: // Manage Lecturers
                printLecturersMenu();
                break;
            case 3: // Manage Bookings
                printBookingsMenu();
                break;
            case 4: // Generate Reports
                printReportsMenu();
                break;
            case 0: // Exit
                break;
        }

    }
        
}
Editor is loading...
Leave a Comment