System
System
*;
import java.time.LocalDate;
import java.time.LocalTime;
import java.text.DecimalFormat;
@Override
public String toString() {
return "Movie{" +
"ID='" + movieId + '\'' +
", Title='" + title + '\'' +
", Genre='" + genre + '\'' +
", Price=$" + price +
'}';
}
}
@Override
public String toString() {
return "Showtime{" +
"ID='" + showtimeId + '\'' +
", Movie=" + movie.getTitle() +
", Date=" + date +
", Time=" + time +
'}';
}
}
@Override
public String toString() {
return "Seat{" +
"ID='" + seatId + '\'' +
", Showtime=" + showtime.getShowtimeId() +
", Available=" + isAvailable +
'}';
}
}
@Override
public String toString() {
DecimalFormat df = new DecimalFormat("#.00");
return "--- MOVIE TICKET RECEIPT ---\n" +
"Movie: " + movie.getTitle() + "\n" +
"Showtime: " + showtime.getDate() + " at " + showtime.getTime() +
"\n" +
"Seat: " + seat.getSeatId() + "\n" +
"Total Payment: $" + df.format(totalPayment) + "\n" +
"Purchase Date: " + purchaseDate;
}
}
switch (choice) {
case 1:
adminMenu();
break;
case 2:
staffMenu();
break;
case 3:
exit = true;
System.out.println("Thank you for using the Movie Ticketing
System!");
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
movieManagement();
break;
case 2:
showtimeManagement();
break;
case 3:
seatManagement();
break;
case 4:
incomeReportManagement();
break;
case 5:
adminExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
addMovie();
break;
case 2:
deleteMovie();
break;
case 3:
movieExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
addShowtime();
break;
case 2:
deleteShowtime();
break;
case 3:
showtimeExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
if (selectedMovie == null) {
System.out.println("Movie not found!");
return;
}
showtimes.removeIf(showtime ->
showtime.getShowtimeId().equals(showtimeId));
System.out.println("Showtime deleted successfully!");
}
if (selectedShowtime == null) {
System.out.println("Showtime not found!");
return;
}
switch (choice) {
case 1:
generateDailyReport();
break;
case 2:
generateWeeklyReport();
break;
case 3:
reportExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
staffMovieMenu();
break;
case 2:
staffShowtimeMenu();
break;
case 3:
staffSeatMenu();
break;
case 4:
generateReceipt();
break;
case 5:
staffExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
viewMovieList();
break;
case 2:
movieExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
viewShowtimeList();
break;
case 2:
showtimeExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
switch (choice) {
case 1:
viewAvailableSeats();
break;
case 2:
seatExit = true;
break;
default:
System.out.println("Invalid choice. Please try again.");
}
}
}
// Select Movie
viewMovieList();
System.out.print("Enter Movie ID: ");
String movieId = scanner.nextLine();
Movie selectedMovie = movies.stream()
.filter(m -> m.getMovieId().equals(movieId))
.findFirst()
.orElse(null);
if (selectedMovie == null) {
System.out.println("Movie not found!");
return;
}
// Select Showtime
viewShowtimeList();
System.out.print("Enter Showtime ID: ");
String showtimeId = scanner.nextLine();
Showtime selectedShowtime = showtimes.stream()
.filter(s -> s.getShowtimeId().equals(showtimeId))
.findFirst()
.orElse(null);
if (selectedShowtime == null) {
System.out.println("Showtime not found!");
return;
}
// Select Seat
viewAvailableSeats();
System.out.print("Enter Seat ID: ");
String seatId = scanner.nextLine();
Seat selectedSeat = seats.stream()
.filter(s -> s.getSeatId().equals(seatId) && s.isAvailable() &&
s.getShowtime().getShowtimeId().equals(showtimeId))
.findFirst()
.orElse(null);
if (selectedSeat == null) {
System.out.println("Seat not available or not found!");
return;
}
// Create Receipt
Receipt receipt = new Receipt(selectedMovie, selectedShowtime,
selectedSeat);
// Display Receipt
System.out.println("\n" + receipt);
System.out.println("Receipt generated successfully!");
}
}