写一个订票系统,可以实现的功能有订票,退票,查询票是否已经被订,打印所有订票的人!!!
1 import java.io.*; 2 import java.util.*; 3 4 5 public class TicketProgram { 6 7 /** 8 * @param args 9 */ 10 LinkedList<Passenger> Plist=new LinkedList<Passenger>(); 11 private BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in)); 12 public String GetString(String msg){ 13 System.out.println(msg); 14 String out=null; 15 try { 16 out = buffer.readLine(); 17 } catch (IOException e) { 18 // TODO Auto-generated catch block 19 e.printStackTrace(); 20 } 21 return out; 22 } 23 public void run(){ 24 while(true){ 25 char option=GetString("\nEnter one of the following options\n"+ 26 "1.Book ticket!\n"+ 27 "2.Return a ticket!\n"+ 28 "3.Check a ticket!\n"+ 29 "4.Show passenger !\n"+ 30 "5.exit!").charAt(0); 31 switch(option){ 32 case '1': BookTicket(); break; 33 case '2': ReturnTicket(); break; 34 case '3': Check(); break; 35 case '4': Show(); break; 36 case '5': return ; 37 default : System.out.println("Wrong option,try again!"); 38 } 39 } 40 } 41 public void BookTicket(){ 42 String Passname=GetString("Please enter your name"); 43 Passenger newpass=new Passenger(Passname); 44 if(Plist.contains(newpass)){ 45 if(((Passenger)Plist.get(Plist.indexOf(newpass))).Ticketnum==0){ 46 int id=Integer.parseInt(GetString("please enter the ticket id:")); 47 ((Passenger)Plist.get(Plist.indexOf(newpass))).Ticketnum=id; 48 System.out.println("book a ticked"); 49 } 50 else{ 51 System.out.println("Do not book again! please return first! "); 52 } 53 } 54 else{ 55 int id=Integer.parseInt(GetString("please enter the ticket id:")); 56 newpass.Ticketnum=id; 57 Plist.add(newpass); 58 System.out.println("book a ticked"); 59 } 60 } 61 public void ReturnTicket(){ 62 String Passname=GetString("Please enter your name"); 63 Passenger newpass=new Passenger(Passname); 64 if((Plist.contains(newpass))){ 65 ((Passenger)Plist.get(Plist.indexOf(newpass))).Ticketnum=0; 66 } 67 else{ 68 System.out.println("You do not book ticket!"); 69 } 70 } 71 public void Check(){ 72 int id=Integer.parseInt(GetString("please enter the ticket id:")); 73 for(ListIterator<Passenger> it=Plist.listIterator();it.hasNext();){ 74 if(it.next().Ticketnum==id){ 75 System.out.println("The ticket have been booked!"); 76 return ; 77 } 78 } 79 System.out.println("The ticket have not been booked!"); 80 } 81 public void Show(){ 82 for(ListIterator<Passenger> it=Plist.listIterator();it.hasNext();){ 83 System.out.println(it.next().name); 84 } 85 } 86 public static void main(String[] args) { 87 // TODO Auto-generated method stub 88 TicketProgram tk=new TicketProgram(); 89 tk.run(); 90 } 91 92 } 93 94 class Passenger{ 95 String name; 96 int Ticketnum=0; 97 public Passenger(){ 98 } 99 public Passenger(String str,int id){ 100 this.name=str; 101 this.Ticketnum=id; 102 } 103 public Passenger(String str){ 104 this.name=str; 105 } 106 public boolean equals(Object obj){ 107 return (this.name.equals(((Passenger)obj).name)); 108 } 109 }