Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- public class StaffWeddingEventDemo {
- // Initiate scanner
- public static Scanner entry = new Scanner(System.in);
- // Set number of events to be entered
- public static WeddingEvent[] events = new WeddingEvent[1];
- private static ArrayList <Employee> employeeArrayList = new ArrayList <>();
- private static final int MIN_GUESTS = 5;
- private static final int MAX_GUESTS = 100;
- public static void main(String[] args) {
- // Create events
- for (int i = 0; i < events.length; i++) {
- System.out.print("\nEnter Details For Event " + (i + 1));
- String eventNum = askEventNum();
- int numOfGuests = askNumOfGuests();
- String phoneNumber = askPhoneNumber();
- int appetizer = askAppetizer();
- int entree1 = askEntree1();
- int entree2 = askEntree2();
- int dessert = askDessert();
- boolean isBuffetStyle = askBuffetStyle();
- events[i] = new WeddingEvent(eventNum, numOfGuests, phoneNumber, appetizer, entree1,
- entree2, dessert, isBuffetStyle, employeeArrayList);
- buildEmployeeList(events[i]);
- }
- // Display motto
- displayMotto();
- // Display event details
- for (WeddingEvent event : events) {
- displayDetails(event);
- }
- }
- public static void buildEmployeeList(WeddingEvent weddingEvent) {
- int totalServers;
- if (weddingEvent.isBuffetStyle) {
- totalServers = 3 + (weddingEvent.getNumOfGuests() / 30);
- } else {
- totalServers = weddingEvent.getNumOfGuests() / 12 + 1;
- }
- System.out.println("\nFor this event you need " + totalServers + " Servers on duty.");
- int totalBartenders = weddingEvent.getNumOfGuests() / 20 + 1;
- System.out.println("For this event you need " + totalBartenders + " Bartenders on duty.");
- int totalNumEmployees = totalServers + 1 + totalBartenders;
- int countOfServers = 0;
- int countOfBartenders = 0;
- System.out.println("\nPlease enter the Servers' info...\n");
- for (int i = 0; i < totalNumEmployees; i++) {
- String employeeID = askEmpID();
- String firstName = askEmpFirstName();
- String lastName = askEmpLastName();
- double payRate = askEmpPayRate();
- if (i <= totalServers) {
- Server server = new Server(employeeID, firstName, lastName, payRate);
- System.out.println("Adding '" + server.getFirstName() + " " + server.getLastName() + "' to the list.\n");
- employeeArrayList.add(server);
- countOfServers++;
- if (countOfServers == totalServers) {
- System.out.println("All Servers have been added to the list. Time to add " +
- "Bartenders.\n");
- }
- } else if (i >= totalBartenders && (i < totalNumEmployees - 1)) {
- Bartender bartender = new Bartender(employeeID, firstName, lastName, payRate);
- System.out.println("Adding '" + bartender.getFirstName() + " " + bartender.getLastName() +
- "' to the list.\n");
- employeeArrayList.add(bartender);
- countOfBartenders++;
- if (countOfBartenders == totalBartenders) {
- System.out.println("All Bartenders have been added to the list. Time to add " +
- "the Manager.\n");
- }
- } else {
- Manager manager = new Manager(employeeID, firstName, lastName, payRate);
- System.out.println("Adding '" + manager.getFirstName() + " " + manager.getLastName() + "' to the list.\n");
- employeeArrayList.add(manager);
- }
- }
- } // end buildEmployeeList()
- private static String askEmpID() {
- System.out.print("Enter Employee ID # for this employee: ");
- return entry.next();
- }
- private static String askEmpFirstName() {
- System.out.print("Enter server's first name: ");
- return entry.next();
- }
- public static String askEmpLastName() {
- System.out.print("Enter server's last name: ");
- return entry.next();
- }
- public static double askEmpPayRate() {
- System.out.print("Enter servers pay rate: ");
- return entry.nextDouble();
- }
- public static String askEventNum() {
- System.out.print("\nEnter event number: ");
- return entry.next();
- }
- public static int askNumOfGuests() {
- System.out.print("Enter number of guests attending: ");
- int numOfGuests = entry.nextInt();
- while (numOfGuests < MIN_GUESTS || numOfGuests > MAX_GUESTS) {
- System.out.println("The number of guests must be between " + MIN_GUESTS + " & " + MAX_GUESTS + " guests");
- System.out.print("Please enter number of guests attending: ");
- numOfGuests = entry.nextInt();
- }
- return numOfGuests;
- }
- public static String askPhoneNumber() {
- System.out.print("Enter contact phone number: ");
- return entry.nextLine();
- }
- // Prompt user for appetizer choice
- public static int askAppetizer() {
- System.out.println("\nPick an Appetizer to be served: ");
- for (int i = 0; i < WeddingEvent.APPETIZERS.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.APPETIZERS[i]);
- System.out.print("Which Appetizer would you like? ");
- int appetizer = entry.nextInt();
- if (appetizer < 0 || appetizer > WeddingEvent.APPETIZERS.length - 1) {
- System.out.println("\nThe appetizer you selected is invalid");
- System.out.println("Please select your appetizer from the list below: ");
- for (int i = 0; i < WeddingEvent.APPETIZERS.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.APPETIZERS[i]);
- System.out.print("Which Appetizer would you like? ");
- appetizer = entry.nextInt();
- }
- entry.nextLine();
- return appetizer;
- }
- // Prompt user for entree1 choice
- public static int askEntree1() {
- System.out.println("\nPick your first Entree to be served: ");
- for (int i = 0; i < WeddingEvent.ENTREES.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.ENTREES[i]);
- System.out.print("Which Entree would you like? ");
- int entree1 = entry.nextInt();
- if (entree1 < 0 || entree1 > WeddingEvent.ENTREES.length - 1) {
- System.out.println("\nThe entree you selected is invalid");
- System.out.println("Please select your first entree from the list below: ");
- for (int i = 0; i < WeddingEvent.ENTREES.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.ENTREES[i]);
- System.out.print("Which Entree would you like? ");
- entree1 = entry.nextInt();
- }
- return entree1;
- }
- // Prompt user for entree2 choice
- public static int askEntree2() {
- System.out.println("\nPick your second Entree to be served: ");
- for (int i = 0; i < WeddingEvent.ENTREES.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.ENTREES[i]);
- System.out.print("Which Entree would you like? ");
- int entree2 = entry.nextInt();
- if (entree2 < 0 || entree2 > WeddingEvent.ENTREES.length - 1) {
- System.out.println("\nThe entree you selected is invalid");
- System.out.println("Please select your second entree from the list below: ");
- for (int i = 0; i < WeddingEvent.ENTREES.length; i++)
- System.out.println(" " + i + " " + WeddingEvent.ENTREES[i]);
- System.out.print("Which Entree would you like? ");
- entree2 = entry.nextInt();
- }
- return entree2;
- }
- // Prompt user for entree2 choice
- public static int askDessert() {
- System.out.println("\nPick Dessert to be served: ");
- for (int i = 0; i < WeddingEvent.DESSERTS.length; ++i)
- System.out.println(" " + i + " " + WeddingEvent.DESSERTS[i]);
- System.out.print("Which Dessert would you like? ");
- int dessert = entry.nextInt();
- if (dessert < 0 || dessert >= WeddingEvent.DESSERTS.length - 1) {
- System.out.println("\nThe dessert you selected is invalid");
- System.out.println("Please select your dessert from the list below: ");
- for (int i = 0; i < WeddingEvent.DESSERTS.length; ++i)
- System.out.println(" " + i + " " + WeddingEvent.DESSERTS[i]);
- System.out.print("Which Dessert would you like? ");
- dessert = entry.nextInt();
- }
- entry.nextLine();
- return dessert;
- }
- // Prompt user for entree2 choice
- public static boolean askBuffetStyle() {
- System.out.print("\nWill your dinner be served buffet style? Please type TRUE or FALSE: ");
- return entry.nextBoolean();
- }
- // Gather details from getters for display
- public static void displayDetails(WeddingEvent e) {
- // Print event number
- System.out.println("Event Number: " + e.getEventNum());
- // Print number of guests
- System.out.println("Number of Attendees: " + e.getNumOfGuests());
- // Print contact number
- System.out.println("Contact Number: " + e.getPhoneNumber());
- // Print price per
- System.out.println("Price Per Person: $" + e.getPricePerGuest());
- // Print total price
- System.out.println("Total Price: $" + e.getTotalPrice());
- // Print type of party
- System.out.println("Type Of Party: " + e.getEventTypeSelect());
- // Print if large party or not
- lgParty(e);
- // Print dinner menu
- System.out.println(e.getMenu());
- System.out.println();
- // Display list of employees
- displayEmployees();
- }
- // Gather details from getters for display
- public static void displayEmployees() {
- System.out.println("The staff for your party will be:\n");
- for (Employee em : employeeArrayList) {
- // Print emplooyee ID
- System.out.println("ID: " + em.getEmployeeID());
- // Print name
- System.out.println("Name: " + em.getFirstName() + " " + em.getLastName());
- // Print employee rate
- System.out.println("Pay Rate: " + em.getPayRate());
- // Print employee job title
- System.out.println("Job Title: " + em.getTitle());
- System.out.println();
- }
- }
- // Output if guest count is a large party or not
- public static void lgParty(Event e) {
- if (e.isLargeEvent()) {
- System.out.println("Large Party: YES");
- } else {
- System.out.println("Large Party: NO");
- }
- System.out.println();
- }
- // Display motto
- public static void displayMotto() {
- System.out.println();
- System.out.println("**************************************************");
- System.out.println("* *");
- System.out.println("* Carly's Catering *");
- System.out.println("* Carly's makes the food that makes it a party *");
- System.out.println("* *");
- System.out.println("**************************************************");
- System.out.println();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement