Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Event {
- public final double PRICE_PER_PERSON = 35.00; // Price per guest - Lg Party
- public final double DISCOUNT_PRICE = 32.00; // Price per guest - Sm Party
- public final int LG_PARTY = 50; // Minimum Lg Party Qty
- public final int EVENT_NUM_LENGTH = 4; // Event number length
- // Event type
- public final static String[] EVENT_TYPES = { "Wedding", "Baptism", "Birthday", "Corporate", "Other" };
- private String eventNum;
- private int numOfGuests;
- private double pricePerGuest;
- private String phoneNumber;
- private int eventType;
- public Event(String eventNum, int numOfGuests, String phoneNumber, int eventType) {
- setEventNum(eventNum);
- setNumOfGuests(numOfGuests);
- setPhoneNumber(phoneNumber);
- setEventType(eventType);
- }
- // Default input information
- public Event() {
- this("A000", 0, "0000000000", EVENT_TYPES.length - 1);
- }
- // Format Event Number or revert to default
- public void setEventNum(String eventNum) {
- if (eventNum.length() != EVENT_NUM_LENGTH || !Character.isLetter(eventNum.charAt(0))
- || !Character.isDigit(eventNum.charAt(1)) || !Character.isDigit(eventNum.charAt(2))
- || !Character.isDigit(eventNum.charAt(3))) {
- this.eventNum = "A000";
- } else {
- this.eventNum = eventNum.toUpperCase();
- }
- }
- // Calculate price based on Number of Guests <---WHY ???
- public void setNumOfGuests(int numOfGuests) {
- this.numOfGuests = numOfGuests;
- }
- // Format Phone Number or revert to default
- public void setPhoneNumber(String phone) {
- final int VALID_PHONE = 10;
- final String INVALID_PHONE = "0000000000";
- phoneNumber = "";
- int len = phone.length();
- for (int x = 0; x < len; ++x) {
- if (Character.isDigit(phone.charAt(x))) {
- phoneNumber += phone.charAt(x);
- }
- }
- if (phoneNumber.length() != VALID_PHONE) {
- phoneNumber = INVALID_PHONE;
- }
- }
- // Set event type
- public void setEventType(int eventType) {
- if (eventType < EVENT_TYPES.length) {
- this.eventType = eventType;
- } else {
- this.eventType = EVENT_TYPES.length - 1;
- }
- }
- // Get phone number input from user
- public String getPhoneNumber() {
- String phone;
- phone = "(" + phoneNumber.substring(0, 3) + ") " + phoneNumber.substring(3, 6) + "-"
- + phoneNumber.substring(6, 10);
- return phone;
- }
- public String getEventNum() {
- return eventNum;
- }
- public int getNumOfGuests() {
- return numOfGuests;
- }
- public void setPricePerGuest(double pricePerGuest) {
- if (isLargeEvent()) {
- this.pricePerGuest = DISCOUNT_PRICE;
- } else {
- this.pricePerGuest = PRICE_PER_PERSON;
- }
- }
- public double getPricePerGuest() {
- return pricePerGuest;
- }
- public int getEventType() {
- return eventType;
- }
- public String getEventTypeSelect() {
- return EVENT_TYPES[eventType];
- }
- public boolean isLargeEvent() {
- return numOfGuests >= 50;
- }
- public double getTotalPrice() {
- double total;
- // Calculate total for party size
- if (isLargeEvent()) {
- total = this.numOfGuests * DISCOUNT_PRICE;
- } else {
- total = this.numOfGuests * PRICE_PER_PERSON;
- }
- return total;
- }
- }
Add Comment
Please, Sign In to add comment