In previous chapters you developed classes that work with ca
In previous chapters, you developed classes that work with catering event information for Carly’s Catering. Now modify the Event and EventDemo classes as follows: Modify the Event class to include an integer field that holds an event type. Add a final String array that holds names of the types of events that Carly’s caters— wedding, baptism, birthday, corporate, and other. Include get and set methods for the integer event type field. If the argument passed to the method that sets the event type is larger than the size of the array of String event types, then set the integer to the element number occupied by “other”. Include a get method that returns an event’s String event type based on the numeric event type. To keep the EventDemo class simple, remove all the statements that compare event sizes and that display the invitation Strings. Modify the EventDemo class so that instead of creating three single Event objects, it uses an array of three Event objects. Get data for each of the objects, and then display all the details for each object. Save the files as Event.java and EventDemo.java. Here are the necessary information for the existing Event and EventDemo java files.
For the existing Event.java:
import java.util.Scanner;
public class Event
 {
 public static double pricePerGuestHigh = 35.00;
 public static double pricePerGuestLow = 32.00;
 public static final int LARGE_EVENT_MAX = 50;
 private int guests;
 private String eventNumber;
 private String phone;
   
 public Event()
 {
 eventNumber=\"\";
 phone=\"\";
 guests=0;
 }
   
 //Tells user to enter phone number
 public void setPhone()
 {
 String tempPhone=\"\";
 Scanner scanner=new Scanner(System.in);
 System.out.print(\"Please enter your phone number \");
 phone=scanner.nextLine();
   
 for (int i = 0; i < phone.length(); i++)
 {
 if(Character.isDigit(phone.charAt(i)))
 tempPhone+=phone.charAt(i);
 }
   
 if(tempPhone.length()< 10 || tempPhone.length()>10)
 this.phone=\"0000000000\";
 else
 this.phone=tempPhone;
   
 }
   
 //Sets event number
 public void setEvent(String eventNumber)
 {
 if(eventNumber.length()<4)
 this.eventNumber=\"A000\";
 else if(eventNumber.length()==4)
 {
 if(!Character.isAlphabetic(eventNumber.charAt(0)) ||
 !Character.isDigit(eventNumber.charAt(1))||
 !Character.isDigit(eventNumber.charAt(2))||
 !Character.isDigit(eventNumber.charAt(3))
 )
 this.eventNumber=\"A000\";
 else
 this.eventNumber=eventNumber;
 }
 else
 this.eventNumber=eventNumber;
 }
   
 //Returns event number
 public String getEvent()
 {
 return eventNumber;
 }
   
 //Returns the phone number in a format of (XXX)XXX-XXXX
 public String getPhone()
 {
 String formattedPhoneNumber=\"\";
 /* append the \"(\" +xxx++\")\" three characters to
 formattedPhoneNumber */
 formattedPhoneNumber+=\"(\"+phone.substring(0, 3)+\")\";
//append next three characters
 formattedPhoneNumber+=phone.substring(3, 6);
//Then append the \"-\" sign to the formattedPhoneNumber
 formattedPhoneNumber+=\"-\";
/* Then append rest of the phoneNumber to
 the formattedPhoneNumber */
formattedPhoneNumber+=
 phone.substring(6, phone.length());
phone=formattedPhoneNumber;
   
 return phone;
 }
 //Prompts user to enter number of guests
 public void setGuests()
 {
 Scanner enter = new Scanner(System.in);
 System.out.print(\"Please enter the number of guests for event \");
 guests = enter.nextInt();
 }
 //return number of guests
 public int getGuests()
 {
 return guests;
 }
   
 //Returns true if the event is large
 //otherwise return false
 public boolean isLargeEvent()
 {
 if (guests >= LARGE_EVENT_MAX)
 return true;
 else
 return false;
 }
 }
And for the existing EventDemo.java:
/***
 * The class EventDemo that tests the Event class
 * that calls setEvent ,setPhone and setGuests
 * and prints the event object details to console.
 * */
public class EventDemo
 {
 public static void main(String[] args)
 {
 //Create an instance of Event class
 Event event = new Event();
   
 //call set methods
 event.setEvent(\"1213\");
 event.setPhone();
 event.setGuests();
   
 System.out.println(\"Event Name : \"+event.getEvent());
 System.out.println(\"Phone number : \"+event.getPhone());
 System.out.println(\"Number of guests : \"+event.getGuests());
 System.out.println(\"Whether this is a Large event : \"+event.isLargeEvent());
   
 }
 }
Solution
 import java.util.Scanner;
public class Event
 {
    public static double pricePerGuestHigh = 35.00;
    public static double pricePerGuestLow = 32.00;
    public static final int LARGE_EVENT_MAX = 50;
    private int guests;
    private String eventNumber;
    private String phone;
    private int eventType;
    //declare a array of string type
    private String eventTypes[]={\"wedding\",\"baptism\",\"birthday\",\"corporate\",\"other\"};
 
    public Event()
    {
        eventNumber=\"\";
        phone=\"\";
        guests=0;
        //set other index number to eventType
        eventType=eventTypes.length-1;
    }
    //setEvent type
    public void setEvent(int num)
    {
        if(num<0 | num>eventTypes.length)
            eventType=eventTypes.length-1;
        else
            eventType=num;
    }
 
 
    //Return getEventType
    public String getEventType(){
        return eventTypes[eventType];
    }
 
 
    //Tells user to enter phone number
    public void setPhone()
    {
        String tempPhone=\"\";
        Scanner scanner=new Scanner(System.in);
        System.out.print(\"Please enter your phone number \");
        phone=scanner.nextLine();
     
        for (int i = 0; i < phone.length(); i++)
        {
            if(Character.isDigit(phone.charAt(i)))
                    tempPhone+=phone.charAt(i);
        }
     
        if(tempPhone.length()< 10 || tempPhone.length()>10)
            this.phone=\"0000000000\";
        else
            this.phone=tempPhone;
     
    }
 
    //Sets event number
    public void setEvent(String eventNumber)
    {
        if(eventNumber.length()<4)
            this.eventNumber=\"A000\";
        else if(eventNumber.length()==4)
        {
            if(!Character.isAlphabetic(eventNumber.charAt(0)) ||
                !Character.isDigit(eventNumber.charAt(1))||
                !Character.isDigit(eventNumber.charAt(2))||
                !Character.isDigit(eventNumber.charAt(3))            
                 )
                this.eventNumber=\"A000\";
            else
                this.eventNumber=eventNumber;
        }
        else
            this.eventNumber=eventNumber;
    }
 
    //Returns event number
    public String getEvent()
    {
        return eventNumber;
    }
 
    //Returns the phone number in a format of (XXX)XXX-XXXX
    public String getPhone()
    {
        String formattedPhoneNumber=\"\";
        /* append the \"(\" +xxx++\")\" three characters to
            formattedPhoneNumber */
        formattedPhoneNumber+=\"(\"+phone.substring(0, 3)+\")\";
       //append next three characters
        formattedPhoneNumber+=phone.substring(3, 6);
       //Then append the \"-\" sign to the formattedPhoneNumber
        formattedPhoneNumber+=\"-\";
       /* Then append rest of the phoneNumber to
            the formattedPhoneNumber */
       formattedPhoneNumber+=
        phone.substring(6, phone.length());
       phone=formattedPhoneNumber;
     
        return phone;
    }
    //Prompts user to enter number of guests
    public void setGuests()
    {
        Scanner enter = new Scanner(System.in);
        System.out.print(\"Please enter the number of guests for event \");
        guests = enter.nextInt();
    }
    //return number of guests
    public int getGuests()
    {
        return guests;
    }
 
    //Returns true if the event is large
    //otherwise return false
    public boolean isLargeEvent()
    {
        if (guests >= LARGE_EVENT_MAX)        
                 return true;        
        else        
                return false;    
    }
 }
------------------------------------------------------------
import java.util.Scanner;
 /***
 * The class EventDemo that tests the Event class
 * that calls setEvent with even number ,setPhone and setGuests
 * and prints the event object details to console.
 * */
public class EventDemo
 {
    public static void main(String[] args)
    {
        Scanner scanner=new Scanner(System.in);
        final int SIZE=3;
        //Create an instance of Event class
        Event[] event = new Event[SIZE];
       
        for (int i = 0; i < event.length; i++)
        {
            System.out.println(\"Enter event number \");
            int num=Integer.parseInt(scanner.nextLine());
            event[i]=new Event();
           
            //call setEvent
            event[i].setEvent(num);
            //call setGuests
            event[i].setGuests();
            //call setPhone
            event[i].setPhone();          
        }
       
        //print event details to console
        for (int i = 0; i < event.length; i++)
        {
            System.out.println(\"Event Name : \"+event[i].getEventType());
              System.out.println(\"Phone number : \"+event[i].getPhone());
              System.out.println(\"Number of guests : \"+event[i].getGuests());  
        }
       
       
       
   }
 }
------------------------------------------------------------
Sample output:
Enter event number
 10
 Please enter the number of guests for event 5
 Please enter your phone number 109-232-232
 Enter event number
 3
 Please enter the number of guests for event 45
 Please enter your phone number 342-342-2435
 Enter event number
 3
 Please enter the number of guests for event 15
 Please enter your phone number 433-244-2432
 Event Name : other
 Phone number : (000)000-0000
 Number of guests : 5
 Event Name : corporate
 Phone number : (342)342-2435
 Number of guests : 45
 Event Name : corporate
 Phone number : (433)244-2432
 Number of guests : 15






