//Airline Reservation System, a simple simulation //Java how to program, 5/e, Exercise 7.18 import javax.swing.*; import java.awt.*; import java.awt.event.*; publicclass AirlineReservation extends JApplet implements ActionListener { int seat[]=newint[10]; boolean seatStatus[]=newboolean[10]; int seatNumber,classType; JLabel classTypeLabel; JTextField classTypeField; JTextArea output; int FirstClassCounter=3,EconomyCounter=7; publicvoid init() { Container container=getContentPane(); container.setLayout(new FlowLayout()); classTypeLabel=new JLabel("Please type 1 for First Class and 2 for Economy:"); container.add(classTypeLabel); classTypeField=new JTextField(10); container.add(classTypeField); classTypeField.addActionListener(this); output=new JTextArea(); container.add(output); for (int i=0;i<seat.length;i++) seat[i]=i+1; } publicvoid actionPerformed (ActionEvent event) { classType=Integer.parseInt(classTypeField.getText()); if (classType==1&&FirstClassCounter>0) { for (int i=0;i<3;i++) { if (seatStatus[i]!=true) { seatNumber=seat[i]; seatStatus[i]=true; FirstClassCounter--; output.append("Thanks! Your have reserved a First Class seat and got a boarding pass." +"/nYour seat number is: "+seatNumber+"/n"); break; } } } elseif(classType==1&&FirstClassCounter<=0&&EconomyCounter>0) { output.append("Sorry, all the First Class seats have been reserved./n"+ "You can type 2 to reserve an Economy one instead! /n"); } elseif (classType==2&&EconomyCounter>0) { for (int i=3;i<10;i++) { if (seatStatus[i]!=true) { seatNumber=seat[i]; seatStatus[i]=true; EconomyCounter--; output.append("Thanks! Your have reserved an Economy seat and got a boarding pass." +"/n. Your seat number is: "+seatNumber+"/n"); break; } } } elseif(classType==2&&EconomyCounter<=0&&FirstClassCounter>0) { output.append("Sorry, all the Economy seats reserved. "+ "/nYou can type 1 to reserve an First Class one instead!/n "); } elseif(FirstClassCounter<=0&&EconomyCounter<=0) { output.append("Sorry, all the seats have been reserved. "+ "/nNext flight leaves in 3 hours./n"); } } }