In previous chapters, you developed classes that work withcatering event information for Carly's Catering. Now modify theEvent and EventDemo classes as follows:
Save the filesas Event.java and EventDemo.java.
Event.java
class Event{ public final static double HIGH_GUEST_PRICE =35.00; public final static double LOW_GUEST_PRICE = 32.00; public final static int LARGE_EVENT = 50; public final static int EVENT_NUM_LENGTH = 4; private String eventNumber; private int guests; private double pricePerGuest; private double priceForEvent; private String contactPhone; public Event() { this("A000", 0); } public Event(String num, int guests) { setEventNumber(num); setGuests(guests); } public void setEventNumber(String num) { boolean numOk = true; if(num.length() != EVENT_NUM_LENGTH ||!Character.isLetter(num.charAt(0)) ||!Character.isDigit(num.charAt(1)) ||!Character.isDigit(num.charAt(2)) ||!Character.isDigit(num.charAt(3))) eventNumber = "A000"; else eventNumber =num.toUpperCase(); } public void setGuests(int gsts) { guests = gsts; if(isLargeEvent()) { pricePerGuest =LOW_GUEST_PRICE; priceForEvent = guests *LOW_GUEST_PRICE; } else { pricePerGuest =HIGH_GUEST_PRICE; priceForEvent = guests *HIGH_GUEST_PRICE; } } public String getEventNumber() { return eventNumber; } public int getGuests() { return guests; } public double getPriceForEvent() { return priceForEvent; } public double getPricePerGuest() { return pricePerGuest; } public String getContactPhone() { String phone; phone = "(" + contactPhone.substring(0, 3) +") " + contactPhone.substring(3, 6) +"-" + contactPhone.substring(6,10); return phone; } public void setContactPhone(String phone) { final int VALID_LEN = 10; final String INVALID_PHONE ="0000000000"; contactPhone = ""; int len = phone.length(); for(int x = 0; x < len; ++x) { if(Character.isDigit(phone.charAt(x))) contactPhone +=phone.charAt(x); } if(contactPhone.length() != VALID_LEN) contactPhone =INVALID_PHONE; } public boolean isLargeEvent() { boolean isLarge = false; if(guests >= LARGE_EVENT) isLarge = true; return isLarge; }}
EventDemo.java
import java.util.Scanner;public class EventDemo{ public static void main(String[] args) { String eventNum; int guests; eventNum = getEventNumber(); guests = getGuests(); Event e1 = new Event(eventNum, guests); e1.setContactPhone(getPhone()); eventNum = getEventNumber(); guests = getGuests(); Event e2 = new Event(eventNum, guests); e2.setContactPhone(getPhone()); eventNum = getEventNumber(); guests = getGuests(); Event e3 = new Event(eventNum, guests); e3.setContactPhone(getPhone()); displayDetails(e1); displayDetails(e2); displayDetails(e3); Event larger = new Event(); larger = getLarger(e1, e2); System.out.println("\nOf Event #" +e1.getEventNumber() + " with " + e1.getGuests() + "guests " + " and Event #" + e2.getEventNumber() + " with " +e2.getGuests() + "\n the larger is Event #"+ larger.getEventNumber() + " with " +larger.getGuests()); larger = getLarger(e1, e3); System.out.println("\nOf Event #" +e1.getEventNumber() + " with " + e1.getGuests() + "guests " + " and Event #" + e3.getEventNumber() + " with " +e3.getGuests() + "\n the larger is Event #"+ larger.getEventNumber() + " with " +larger.getGuests()); larger = getLarger(e2, e3); System.out.println("\nOf Event #" +e2.getEventNumber() + " with " + e2.getGuests() + "guests " + " and Event #" + e3.getEventNumber() + " with " +e3.getGuests() + "\n the larger is Event #"+ larger.getEventNumber() + " with " +larger.getGuests()); for(int x = 0; x < e1.getGuests();++x) System.out.println("Please cometo my event!"); } public static String getEventNumber() { String num; Scanner input = new Scanner(System.in); System.out.print("Enter event number >>"); num = input.nextLine(); return num; } public static int getGuests() { int guests; final int MIN_GUESTS = 5; final int MAX_GUESTS = 100; Scanner input = new Scanner(System.in); System.out.print("Enter number of guests>> "); guests = input.nextInt(); while(guests < MIN_GUESTS || guests >MAX_GUESTS) { System.out.println("The numberof guests must be between " + MIN_GUESTS + " and " +MAX_GUESTS); System.out.print("Please renter>> "); guests = input.nextInt(); } input.nextLine(); return guests; } public static void displayDetails(Event e) { System.out.println("\nEvent #" +e.getEventNumber()); System.out.println("The price for an eventwith " + e.getGuests() + " guests at $" +e.getPricePerGuest() + " per guest is $" +e.getPriceForEvent()); System.out.println("Whether this is a largeevent is " + (e.getGuests() >=e.LARGE_EVENT)); System.out.println("Contact phone number is: "+ e.getContactPhone()); } public static Event getLarger(Event e1, Evente2) { Event larger = e2; if(e1.getGuests() >= e2.getGuests()) larger = e1; return larger; } public static String getPhone() { String phone; Scanner input = new Scanner(System.in); System.out.print("Enter contact phone number>> "); phone = input.nextLine(); return phone; } }
In previous chapters, you developed classes that work with catering event information for Carly's Catering. Now modify t
-
- Site Admin
- Posts: 899603
- Joined: Mon Aug 02, 2021 8:13 am