In previous chapters, you developed classes that work with catering event information for Carly's Catering. Now modify t

Business, Finance, Economics, Accounting, Operations Management, Computer Science, Electrical Engineering, Mechanical Engineering, Civil Engineering, Chemical Engineering, Algebra, Precalculus, Statistics and Probabilty, Advanced Math, Physics, Chemistry, Biology, Nursing, Psychology, Certifications, Tests, Prep, and more.
Post Reply
answerhappygod
Site Admin
Posts: 899603
Joined: Mon Aug 02, 2021 8:13 am

In previous chapters, you developed classes that work with catering event information for Carly's Catering. Now modify t

Post by answerhappygod »

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; } }
Join a community of subject matter experts. Register for FREE to view solutions, replies, and use search function. Request answer by replying!
Post Reply