DSA Java Project – Movie Ticket Booking System
by DataFlair Team
Program 1
// Movie Ticket Booking System( Based on 2D Array)
import java.util.Scanner;
class Seat
{
boolean booked;
String name;
public Seat()
{
booked = false;
name = "";
}
}
public class MovieTheater
{
static final int ROWS =5;
static final int COLS = 10;
static Seat[][] seats = new Seat[ROWS][COLS];
public static void initializeSeats()
{
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
seats[i][j] = new Seat();
}
}
}
public static void displaySeats()
{
System.out.println("\nSeating Arrangement (1 = Booked, 0 = Available):");
for (int i = 0; i < ROWS; i++)
{
System.out.print("Row " + (i + 1) + ": ");
for (int j = 0; j < COLS; j++)
{
System.out.print(seats[i][j].booked ? "1 " : "0 ");
}
System.out.println();
}
}
public static void bookSeat(Scanner sc)
{
System.out.print("Enter row (1-" + ROWS + "): ");
int row = sc.nextInt();
System.out.print("Enter seat number (1-" + COLS + "): ");
int col = sc.nextInt();
sc.nextLine(); // consume newline
if (row < 1 || row > ROWS || col < 1 || col > COLS)
{
System.out.println("Invalid seat selection.");
return;
}
if (seats[row - 1][col - 1].booked)
{
System.out.println("Seat already booked.");
} else
{
System.out.print("Enter your name: ");
String name = sc.nextLine();
seats[row - 1][col - 1].booked = true;
seats[row - 1][col - 1].name = name;
System.out.println("Seat (" + row + ", " + col + ") booked successfully for " + name + ".");
}
}
public static void cancelSeat(Scanner sc)
{
System.out.print("Enter row to cancel (1-" + ROWS + "): ");
int row = sc.nextInt(); //1
System.out.print("Enter seat number to cancel (1-" + COLS + "): ");
int col = sc.nextInt(); //1
if (row < 1 || row > ROWS || col < 1 || col > COLS)
{
System.out.println("Invalid seat selection.");
return;
}
if (seats[row - 1][col - 1].booked==true) //seats[0][0]
{
System.out.println("Booking for " + seats[row - 1][col - 1].name + " canceled.");
seats[row - 1][col - 1].booked = false; //seats[0][0]
seats[row - 1][col - 1].name = "";
} else {
System.out.println("Seat is already available.");
}
}
public static void showBookings()
{
System.out.println("\nBooked Seats:");
boolean found = false;
for (int i = 0; i < ROWS; i++)
{
for (int j = 0; j < COLS; j++)
{
if (seats[i][j].booked==true)
{
System.out.println("Seat (" + (i + 1) + ", " + (j + 1) + ") - " + seats[i][j].name);
found = true;
}
}
}
if (!found)
{
System.out.println("No bookings yet.");
}
}
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
initializeSeats();
int choice;
while (true)
{
System.out.println("\n----------------- Movie Ticket Booking System -----------------");
System.out.println("1. Show Seat Layout");
System.out.println("2. Book a Seat");
System.out.println("3. Cancel a Booking");
System.out.println("4. Show All Bookings");
System.out.println("5. Exit");
System.out.println("---------------------------------------------------------------------------");
System.out.print("Enter your choice: ");
choice = sc.nextInt();
switch (choice)
{
case 1:
displaySeats();
break;
case 2:
bookSeat(sc);
break;
case 3:
cancelSeat(sc);
break;
case 4:
showBookings();
break;
case 5:
System.out.println("Exiting system. Goodbye!");
sc.close();
return;
default:
System.out.println("Invalid choice. Try again.");
}
}
}
}
Tags: dsa javadsa java program on movie ticket booking systemdsa java projectsdsa using javamovie ticket booking systemmovie ticket booking system in dsa javamovie ticket booking system in dsa using javamovie ticket booking system using dsa java
DataFlair Team
DataFlair Team provides high-impact content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. We make complex concepts easy to grasp, helping learners of all levels succeed in their tech careers.