0% found this document useful (0 votes)
15 views5 pages

Bus

The document describes a bus reservation system with classes for buses and the reservation system. It allows adding buses with numbers and seats, booking and cancelling seats on buses by number.

Uploaded by

Mansi Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views5 pages

Bus

The document describes a bus reservation system with classes for buses and the reservation system. It allows adding buses with numbers and seats, booking and cancelling seats on buses by number.

Uploaded by

Mansi Gupta
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 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