MovieTicketBooking.java
87 linesjava
DOWNLOAD
1
2// Aim: Program to perform Abstract Class operations (Movie Ticket Booking).
3import java.util.*;
4
5abstract class MovieTicketBookingTask {
6    protected int totalTickets;
7    protected int soldTickets;
8
9    public MovieTicketBookingTask(int totalTickets) {
10        this.totalTickets = totalTickets;
11        this.soldTickets = 0;
12    }
13
14    public void booking(int numberOfTickets) {
15        if (numberOfTickets <= (totalTickets - soldTickets)) {
16            soldTickets += numberOfTickets;
17            System.out.println(numberOfTickets + " MovieTicketBookingTask booked successfully.");
18        } else {
19            System.out.println("Not enough MovieTicketBookingTask available.");
20        }
21    }
22
23    public void cancellation(int numberOfTickets) {
24        if (numberOfTickets <= soldTickets) {
25            soldTickets -= numberOfTickets;
26            System.out.println(numberOfTickets + " MovieTicketBookingTask cancelled successfully.");
27        } else {
28            System.out.println("Not enough MovieTicketBookingTask to cancel.");
29        }
30    }
31
32    public abstract void total_collection();
33}
34
35public class MovieTicketBooking extends MovieTicketBookingTask {
36
37    private String filmName;
38
39    public MovieTicketBooking(String filmName, int totalTickets) {
40        super(totalTickets);
41        this.filmName = filmName;
42    }
43
44    public void total_collection() {
45        int totalCollection = soldTickets * 150;
46        System.out.println("Total collection for the film " + filmName + " is: Rs. " + totalCollection);
47    }
48
49    public static void main(String[] args) {
50        Scanner sc = new Scanner(System.in);
51
52        System.out.println("Enter the film name:");
53        String filmName = sc.nextLine();
54
55        System.out.println("Enter the total number of MovieTicketBookingTask available:");
56        int totalTickets = sc.nextInt();
57
58        MovieTicketBooking movie = new MovieTicketBooking(filmName, totalTickets);
59
60        while (true) {
61            System.out.println("Choose an option: 1. Book Tickets 2. Cancel Tickets 3. Show Total Collection 4. Exit");
62            int choice = sc.nextInt();
63
64            switch (choice) {
65                case 1:
66                    System.out.println("Enter the number of MovieTicketBookingTask to book:");
67                    int bookTickets = sc.nextInt();
68                    movie.booking(bookTickets);
69                    break;
70                case 2:
71                    System.out.println("Enter the number of MovieTicketBookingTask to cancel:");
72                    int cancelTickets = sc.nextInt();
73                    movie.cancellation(cancelTickets);
74                    break;
75                case 3:
76                    movie.total_collection();
77                    break;
78                case 4:
79                    System.exit(0);
80                    sc.close();
81                    break;
82                default:
83                    System.out.println("Invalid choice. Please try again.");
84            }
85        }
86    }
87}