i mport j ava. util.
Scanner;
cl ass Passenger {
pri vat e Stri ng na me;
pri vat e Stri ng seat Nu mber;
publi c Passenger( Stri ng na me, Stri ng seat Nu mber) {
thi s. na me = na me;
thi s.seat Nu mber = seat Nu mber;
publi c Stri ng get Na me() {
ret ur n na me;
publi c Stri ng getSeat Number() {
ret ur n seat Nu mber;
publi c voi d setSeat Nu mber( Stri ng seat Nu mber) {
thi s.seat Nu mber = seat Nu mber;
cl ass Ai rli neReservati onSyste m{
pri vat e stati c fi nal i nt NUM_SEATS = 10;
pri vat e stati c Passenger[] passengers = new Passenger[ NUM_SEATS];
publi c stati c voi d mai n( Stri ng[] args) {
Scanner scanner = new Scanner( Syste m.i n);
whil e (true) {
Syste m. out. pri ntl n("1. Reserve Seat");
Syste m. out. pri ntl n("2. Vi ew Passenger Li st");
Syste m. out. pri ntl n("3. Exit");
Syste m. out. pri nt("Choose an opti on: ");
i nt choi ce = scanner.nextI nt();
scanner. nextLi ne(); // Consu me newli ne
s witch (choi ce) {
case 1:
reserveSeat(scanner);
break;
case 2:
vi ewPassengerList();
break;
case 3:
Syste m. out. pri ntl n("Exi ti ng pr ogra m...");
ret ur n;
def aul t:
Syste m. out. pri ntl n("I nvali d opti on. Pl ease try agai n. ");
pri vat e stati c voi d reserveSeat(Scanner scanner) {
Syste m. out. pri nt("Ent er passenger na me: ");
Stri ng na me = scanner.nextLi ne();
Syste m. out. pri nt("Ent er pref erred seat nu mber: ");
Stri ng seat Nu mber = scanner. nextLi ne();
// Check if seat is availabl e
if (passengerExi sts(seat Nu mber)) {
Syste m. out. pri ntl n("Sorry, the seat is already reserved. ");
ret ur n;
// Fi nd the first avail abl e seat
for (i nt i = 0; i < NUM_SEATS; i ++) {
if (passengers[i] == null) {
passengers[i] = new Passenger( na me, seat Number);
Syste m. out. pri ntl n("Seat reserved successf ully f or " + na me);
ret ur n;
Syste m. out. pri ntl n("Sorry, all seats are reserved. ");
pri vat e stati c bool ean passenger Exi sts(Stri ng seat Number) {
for (Passenger passenger : passengers) {
if (passenger != null && passenger. getSeat Nu mber(). equal s(seat Nu mber)) {
ret ur n true;
ret ur n fal se;
}
pri vat e stati c voi d vi ewPassengerLi st() {
Syste m. out. pri ntl n("Passenger Li st:");
for (Passenger passenger : passengers) {
if (passenger != null) {
Syste m. out. pri ntl n("Na me: " + passenger. getNa me() + ", Seat: " + passenger. getSeat Nu mber());
OUTPUT:
1. Reserve Seat
2. Vi ew Passenger Li st
3. Exit
Choose an opti on: 1
Ent er passenger na me: AI SHA
Ent er pref erred seat nu mber: 3
Seat reserved successf ull y for Ali ce S mit h
1. Reserve Seat
2. Vi ew Passenger Li st
3. Exit
Choose an opti on: 1
Ent er passenger na me: PRATI KSHA
Ent er pref erred seat nu mber: 3
Sorry, the seat is already reserved.