LinkedList的例子

写一个订票系统,可以实现的功能有订票,退票,查询票是否已经被订,打印所有订票的人!!!

  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 }

 

posted on 2013-11-16 21:31  随风蔷薇  阅读(331)  评论(0编辑  收藏  举报