You are on page 1of 5

import java.util.

Scanner;

class Bus {

private String busNumber;

private int totalSeats;

private int availableSeats;

public Bus(String busNumber, int totalSeats) {

this.busNumber = busNumber;

this.totalSeats = totalSeats;

this.availableSeats = totalSeats;

public String getBusNumber() {

return busNumber;

public int getAvailableSeats() {

return availableSeats;

public boolean bookSeats(int seats) {

if (seats <= availableSeats) {

availableSeats -= seats;

return true;

} else {

return false;

public void cancelBooking(int seats) {


availableSeats += seats;

class ReservationSystem {

private Bus[] buses;

public ReservationSystem(int numBuses) {

buses = new Bus[numBuses];

public void addBus(int index, String busNumber, int totalSeats) {

buses[index] = new Bus(busNumber, totalSeats);

public void bookTicket(String busNumber, int seats) {

for (Bus bus : buses) {

if (bus != null && bus.getBusNumber().equals(busNumber)) {

if (bus.bookSeats(seats)) {

System.out.println("Seats booked successfully on bus " + busNumber);

} else {

System.out.println("Seats not available on bus " + busNumber);

return;

System.out.println("Bus " + busNumber + " not found");

public void cancelTicket(String busNumber, int seats) {

for (Bus bus : buses) {


if (bus != null && bus.getBusNumber().equals(busNumber)) {

bus.cancelBooking(seats);

System.out.println("Seats canceled successfully on bus " + busNumber);

return;

System.out.println("Bus " + busNumber + " not found");

public class Main {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.print("Enter the number of buses: ");

int numBuses = scanner.nextInt();

scanner.nextLine(); // Consume newline

ReservationSystem reservationSystem = new ReservationSystem(numBuses);

for (int i = 0; i < numBuses; i++) {

System.out.println("Enter details for bus " + (i + 1) + ":");

System.out.print("Bus number: ");

String busNumber = scanner.nextLine();

System.out.print("Total seats: ");

int totalSeats = scanner.nextInt();

scanner.nextLine(); // Consume newline

reservationSystem.addBus(i, busNumber, totalSeats);

while (true) {

System.out.println("\n1. Book ticket");


System.out.println("2. Cancel ticket");

System.out.println("3. Exit");

System.out.print("Enter your choice: ");

int choice = scanner.nextInt();

scanner.nextLine(); // Consume newline

switch (choice) {

case 1:

System.out.print("Enter bus number: ");

String bookBusNumber = scanner.nextLine();

System.out.print("Enter number of seats to book: ");

int bookSeats = scanner.nextInt();

scanner.nextLine(); // Consume newline

reservationSystem.bookTicket(bookBusNumber, bookSeats);

break;

case 2:

System.out.print("Enter bus number: ");

String cancelBusNumber = scanner.nextLine();

System.out.print("Enter number of seats to cancel: ");

int cancelSeats = scanner.nextInt();

scanner.nextLine(); // Consume newline

reservationSystem.cancelTicket(cancelBusNumber, cancelSeats);

break;

case 3:

System.out.println("Exiting...");

System.exit(0);

default:

System.out.println("Invalid choice");

}
}

You might also like