Answer:
import java.util.Scanner;
public class SeatBookingProgram {
 public static void main(String[] args) {
 Scanner input = new Scanner(System.in);
 int rows = 5;
 int cols = 10;
 boolean[][] seats = new boolean[rows][cols];
 int availableSeats = rows * cols;
 // Initialize all seats as available
 for (int i = 0; i < rows; i++) {
 for (int j = 0; j < cols; j++) {
 seats[i][j] = true;
 }
 }
 while (availableSeats > 0) {
 // Print the seating chart
 System.out.println("Seating Chart:");
 for (int i = 0; i < rows; i++) {
 for (int j = 0; j < cols; j++) {
 if (seats[i][j]) {
 System.out.print("O ");
 } else {
 System.out.print("X ");
 }
 }
 System.out.println();
 }
 // Prompt the user to select a seat
 System.out.print("Select a seat (row, column): ");
 int selectedRow = input.nextInt();
 int selectedCol = input.nextInt();
 // Check if the seat is available and book it if so
 if (seats[selectedRow - 1][selectedCol - 1]) {
 seats[selectedRow - 1][selectedCol - 1] = false;
 availableSeats--;
 System.out.println("Seat booked successfully.");
 } else {
 System.out.println("Seat already booked. Please select another seat.");
 }
 }
 System.out.println("All seats have been booked.");
 }
}
Step-by-step explanation:
In this program, the seating chart is represented as a 2D boolean array where true indicates that a seat is available and false indicates that a seat is booked. The program initializes all seats as available, then enters a loop where it displays the seating chart, prompts the user to select a seat, and books the selected seat if it is available. The loop continues until all seats have been booked. At the end, the program displays a message indicating that all seats have been booked.