/* WAP IN JAVA TO CREATE THE CLASS WITH THE NAME "TICKET BOOKING SYSTEM" WHICH INCLUDES DATA MEMBERS LIKE: BOOKING ID, BOOKING DATE, SEATS REQUIRED, SEATS AVAILABLE. CREATE METHODS FOR BOOKING THE TICKET AND CANCEL THE TICKET. */ package IO.Java.AIT; import java.time.LocalDate; import java.util.Random; class TicketBookingSystem{ private long bookingId; private LocalDate bookingDate; private int seatsRequired; private static int seatsAvailable; // creating the static block for initializing the static variable static { seatsAvailable = 10; } // creating the constructor with parameters for initializing instance variables TicketBookingSystem(LocalDate bookingDate,int seatsRequired) { this.bookingDate = bookingDate; this.seatsRequired = seatsRequired; } public void bookingTicket() { boolean isBooking = false; if(seatsRequired <= seatsAvailable) { seatsAvailable = seatsAvailable - seatsRequired; isBooking = true; } if(isBooking) { Random random = new Random(); this.bookingId = random.nextLong(9876543210L); System.out.println("Booking is Successful!! Your Booking ID :"+this.bookingId); System.out.println("The Remaining Seats after the booking : "+fetchAvailableSeats()); System.out.println("The Booking Date : "+this.bookingDate); System.out.println("The Number of seats Booked : "+this.seatsRequired); } else { System.out.println("Sorry, seats are not avaiable."); } } public void cancelTicket() { seatsAvailable = seatsAvailable + this.seatsRequired; System.out.println("Seats are Cancelled!!!"); System.out.println("Available Seats after the cancellation : "+fetchAvailableSeats()); } public static int fetchAvailableSeats() { return seatsAvailable; } } public class MainClass { public static void main(String[] args) { TicketBookingSystem user1 = new TicketBookingSystem(LocalDate.now(),6); user1.bookingTicket(); TicketBookingSystem user2 = new TicketBookingSystem(LocalDate.now(),8); user2.bookingTicket(); user1.cancelTicket(); user2.bookingTicket(); } }