The document describes a Java program that models catering events. It asks the reader to modify the EventDemo class to:
1) Continuously prompt for the number of guests until it is between 5-100
2) For one event, display an invitation message the same number of times as the number of guests
3) Save the modified file as EventDemo.java
Please respond only if you can answer the whole question ~~~~~.pdf
1. **Please respond only if you can answer the whole question**
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Java Programming: Ch 6 Case Problem 1
Carly’s Catering provides meals for parties and special events. In previous chapters, you
developed a class that holds catering event information and an application that tests the methods
using four objects of the class. Now modify the EventDemo class to do the following:
Continuously prompt for the number of guests for each Event until the value falls between 5 and
100 inclusive.
For one of the Event objects, create a loop that displays “Please come to my event!” as many
times as there are guests for the Event.
Save the modified file as EventDemo.java.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Please use code to answer question:
import java.util.Scanner;
public class Event {
public final static double LOWER_PRICE_PER_GUEST = 32.00;
public final static double HIGHER_PRICE_PER_GUEST = 35.00;
public final static int CUTOFF_VALUE = 50;
public boolean largeEvent;
private String eventNum;
private int numOfGuests;
private double price;
private double pricePerGuest;
public Event(String event, int guests) {
eventNum = event;
numOfGuests = guests;
}
public Event() {
2. this("A000", 0);
}
private Scanner input = new Scanner(System.in);
public void setEventNumber() {
System.out.print("What is the event number? ");
eventNum = input.nextLine();
}
public void setNumOfGuests() {
System.out.print("How many guests are attending the event? ");
numOfGuests = input.nextInt();
if (isLargeEvent())
pricePerGuest = LOWER_PRICE_PER_GUEST;
else
pricePerGuest = HIGHER_PRICE_PER_GUEST;
largeEvent = (numOfGuests >= CUTOFF_VALUE);
price = numOfGuests * pricePerGuest;
System.out.println("");
}
public boolean isLargeEvent(){
if(this.getNumOfGuests() >= 50)
return true;
else
return false;
}
public String getEventNumber() {
return eventNum;
}
3. public int getNumOfGuests() {
return numOfGuests;
}
public double getPrice() {
return price;
}
public double getPricePerGuest(){
return pricePerGuest;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
public class EventDemo {
public static void main(String[] args) {
Event event1 = new Event();
System.out.println("Event #1: ");
event1.setEventNumber();
event1.setNumOfGuests();
Event event2 = new Event();
System.out.println("Event #2: ");
event2.setEventNumber();
event2.setNumOfGuests();
Event event3 = new Event();
System.out.println("Event #3: ");
event3.setEventNumber();
event3.setNumOfGuests();
display(event1);
display(event2);
4. display(event3);
System.out.println("Display larger event comparing Event #1 and Event #2: ");
display(largerEvent(event1, event2));
System.out.println("Display larger event comparing Event #2 and Event #3: ");
display(largerEvent(event2, event3));
System.out.println("Display larger event comparing Event #1 and Event #3: ");
display(largerEvent(event1, event3));
}
public static void display(Event e) {
System.out.println("Event number: " + e.getEventNumber());
System.out.println("Total guests: " + e.getNumOfGuests());
System.out.println("Total price per guest: $" + String.format("%.2f",
e.getPricePerGuest()));
System.out.println("Total price: $" + String.format("%.2f", e.getPrice()));
System.out.println("Large event: " + e.isLargeEvent());
System.out.println("");
}
public static Event largerEvent (Event e1, Event e2){
if (e1.getNumOfGuests() >= e2.getNumOfGuests())
return e1;
else
return e2;
}
}
Solution
import java.util.Scanner;
public class Event {
public final static double LOWER_PER_GUEST = 32.00;
public final static double HIGHER_PER_GUEST = 35.00;
public final static int CUTOFF_VALUE = 50;
public boolean largeEvent;
5. private String eventNum;
private int numOfGuests;
private double price;
private double pricePerGuest;
public Event(String event, int guests) {
eventNum = event;
numOfGuests = guests;
}
public Event() {
this("A000", 0);
}
private Scanner input = new Scanner(System.in);
public void setEventNumber() {
System.out.print("What is the event number? ");
eventNum = input.nextLine();
}
public void setNumOfGuests() {
do {
System.out.print("How many guests are attending the event? ");
int guests = input.nextInt();
if (guests >= 5 && guests <= 100) {
numOfGuests = guests;
if (isLargeEvent())
pricePerGuest = LOWER_PER_GUEST;
else
pricePerGuest = HIGHER_PER_GUEST;
price = numOfGuests * pricePerGuest;
largeEvent = (numOfGuests >= CUTOFF_VALUE);
} else {
break;
}
} while (true);
// System.out.println("");
}
public boolean isLargeEvent() {
if (this.getNumOfGuests() > 50)
6. return true;
else
return false;
}
public String getEventNumber() {
return eventNum;
}
public int getNumOfGuests() {
return numOfGuests;
}
public double getPrice() {
return price;
}
}
public class EventDemo {
public static void main(String[] args) {
Event event1 = new Event();
Event event2 = new Event();
Event event3 = new Event();
System.out.println("Enter Details of event1:");
event1.setEventNumber();
event1.setNumOfGuests();
display(event1);
for (int i = 0; i < event1.getNumOfGuests(); i++) {
System.out.println("Please come to my event!");
}
}
public static void display(Event e) {
System.out.println("Event number: " + e.getEventNumber());
System.out.println("Total guests: " + e.getNumOfGuests());
System.out.println("Total price: $"
+ String.format("%.2f", e.getPrice()));
System.out.println("Is Large event: " + e.isLargeEvent());
System.out.println("");
}
public static Event getLargestEvent(Event e1, Event e2) {
7. if (e1.getNumOfGuests() > e2.getNumOfGuests())
return e1;
else
return e2;
}
}
OUTPUT:
Enter Details of event1:
What is the event number? 58
How many guests are attending the event? 5
How many guests are attending the event? 4
Event number: 58
Total guests: 5
Total price: $175.00
Is Large event: false
Please come to my event!
Please come to my event!
Please come to my event!
Please come to my event!
Please come to my event!