Untitled
unknown
plain_text
a year ago
4.5 kB
6
Indexable
import java.util.*;
public class NugasConcerts {
private static ArrayList<Concert> concerts = new ArrayList<>();
private static Scanner scanner = new Scanner(System.in);
public static void main(String[] args) {
concerts.add(new Concert("Eras Tour", "VIP", 30000.00));
concerts.add(new Concert("Eras Tour", "Patron", 24500.00));
concerts.add(new Concert("Eras Tour", "GenAd", 18000.00));
concerts.add(new Concert("SVT: Be the Sun Tour", "VIP", 20500.00));
concerts.add(new Concert("SVT: Be the Sun Tour", "Patron", 15000.00));
concerts.add(new Concert("5SOS: Sounds Live Feels Live", "VIP", 15500.00));
concerts.add(new Concert("5SOS: Sounds Live Feels Live", "GenAd", 7500.00));
while (true) {
System.out.println("\n--- Nugas Concerts ---");
System.out.println("1. Purchase Ticket");
System.out.println("2. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
scanner.nextLine(); // Consume newline
switch (choice) {
case 1:
purchaseTicket();
break;
case 2:
System.out.println("Exiting program.");
scanner.close();
System.exit(0);
default:
System.out.println("Invalid choice. Please enter a number between 1 and 2.");
}
}
}
private static void purchaseTicket() {
displayConcerts();
System.out.print("Enter ticket ID: ");
int ticketId = scanner.nextInt();
scanner.nextLine(); // Consume newline
Concert selectedConcert = concerts.get(ticketId - 1);
System.out.print("Enter ticket quantity (max of 5 only): ");
int quantity = scanner.nextInt();
scanner.nextLine(); // Consume newline
if (quantity > 5) {
System.out.println("Maximum ticket quantity is 5.");
return;
}
double subtotal = selectedConcert.getPrice() * quantity;
double serviceFee = subtotal * 0.05;
double grandTotal = subtotal + serviceFee;
System.out.println("You are purchasing " + quantity + " " + selectedConcert.getTicketType() + " of " + selectedConcert.getConcertName());
System.out.println("Ticket price: PHP " + selectedConcert.getPrice());
System.out.println("Subtotal: PHP " + subtotal);
System.out.println("Service fee (5%): PHP " + serviceFee);
System.out.println("Grand total: PHP " + grandTotal);
System.out.print("Enter payment amount: PHP ");
double paymentAmount = scanner.nextDouble();
scanner.nextLine(); // Consume newline
if (paymentAmount < grandTotal) {
System.out.println("Insufficient payment amount.");
return;
}
double change = paymentAmount - grandTotal;
System.out.println("\n--- Receipt ---");
System.out.println(selectedConcert.getConcertName());
System.out.println(quantity + " " + selectedConcert.getTicketType() + " - PHP " + selectedConcert.getPrice() + " each");
System.out.println("Subtotal: PHP " + subtotal);
System.out.println("Service fee (5%): PHP " + serviceFee);
System.out.println("Grand total: PHP " + grandTotal);
System.out.println("Payment amount: PHP " + paymentAmount);
System.out.println("Change: PHP " + change);
System.out.println("Thank you for purchasing!");
concerts.remove(ticketId - 1);
}
private static void displayConcerts() {
System.out.println("Available concerts:");
for (int i = 0; i < concerts.size(); i++) {
System.out.println((i + 1) + ". " + concerts.get(i));
}
}
}
class Concert {
private String concertName;
private String ticketType;
private double price;
public Concert(String concertName, String ticketType, double price) {
this.concertName = concertName;
this.ticketType = ticketType;
this.price = price;
}
public String getConcertName() {
return concertName;
}
public String getTicketType() {
return ticketType;
}
public double getPrice() {
return price;
}
@Override
public String toString() {
return concertName + " - " + ticketType + " - PHP " + price;
}
}Editor is loading...
Leave a Comment