电影售票系统详解.docx
- 文档编号:9679714
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:19.09KB
电影售票系统详解.docx
《电影售票系统详解.docx》由会员分享,可在线阅读,更多相关《电影售票系统详解.docx(19页珍藏版)》请在冰豆网上搜索。
电影售票系统详解
用户界面:
包UI
packageUI;
importjava.io.BufferedReader;
importjava.io.InputStreamReader;
importjava.util.List;
importdomain.Movie;
importdomain.ScheduleItem;
importdomain.Seat;
importticket.FreeTicket;
importticket.StudentTicket;
importticket.Ticket;
importmoviedao.Schedule;
publicclassUser{
staticBufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));staticSeatseat=newSeat();
staticTicketticket=newTicket();
staticCinemacinema=newCinema();
staticScheduleItemscheduleItem=newScheduleItem();
staticScheduleschedule=newSchedule();
publicstaticvoidmain(String[]args)throwsException{
//Stringstr=null;
//do{
Moviem=newMovie();
System.out.println("序号\t电影名称\t英文名称\t导演\t演员\t电影类型\t价格\t时间");
List
for(inti=0;i ScheduleItemsi=list.get(i); m=si.getMovie(); System.out.println(i+"\t"+m.getName()+"\t"+m.getPoster()+"\t"+m.getDirector()+"\t"+m.getActor()+"\t"+m.getType()+"\t"+m.getPrice()+"\t"+si.getTime()); } System.out.println("下面为影院的作为结构图: "); System.out.println("\t\t屏幕"); printSeat(); System.out.println("请输入电影名称: "); while(true){ Stringname=br.readLine();if(! Schedule.loadName(name)){ System.out.println("电影名称有误,请重新输入电影名称: ");}else{ ticket.name=name;break; } } System.out.println("请输入电影播放时间: 以xx: xx的形式"); Stringtime=br.readLine();while(true){ if(schedule.exsitItem(time)){scheduleItem.setTime(time);ticket.scheduleitem=scheduleItem;break; } System.out.println("时间格式输入有误,请重新输入: ");time=br.readLine(); } System.out.println("请输入您要购买的票的类型: 1.普通票\t2.学生票\t3.赠票");Stringtype=br.readLine(); while(true){if(type.equals("1")){ exsitnum();cinema.save(ticket);ticket.print(ticket); break; }elseif(type.equals("2")){ System.out.println("请输入您需要的折扣: 1到9的整数"); Strings=br.readLine(); intdiscount=Integer.parseInt(s); StudentTicketst=newStudentTicket(discount);exsitnum(); pute();st.print(ticket); break; }elseif(type.equals("3")){ System.out.println("请输入您的姓名: "); StringcustomerName=br.readLine(); FreeTicketft=newFreeTicket(customerName);exsitnum(); ft.print(ticket);break; }else{ System.out.println("您输入要购买的票的类型错误,请重新输入: 1.普通票\t2.学生票\t3.赠票"); type=br.readLine(); } } /*System.out.println("还要继续购买吗? y/n"); str=br.readLine(); }while(str.equalsIgnoreCase("y"));*/ } publicstaticvoidprintSeat(){ for(inti=1;i<6;i++){ for(intj=1;j<8;j++){System.out.print(i+"-"+j+"\t"); } System.out.println(); } } publicstaticvoidexsitnum()throwsException{ System.out.println("请输入您所需要的座位号: 以排-列的形式"); StringseatNum=br.readLine();while(true){ if(Seat.exsitSeat(seatNum)){if(! cinema.load(seatNum,scheduleItem.getTime(),ticket.name)){seat.seatNum=seatNum;ticket.seat=seat;cinema.save(ticket); System.out.println("恭喜您购票成功! ");break; }else{ System.out.println("您输入的座位号已售出,请重新输入! ");seatNum=br.readLine(); } }else{System.out.println("您输入的座位号不对: 以排-列的形式"); } } } } packageUI; importjava.util.Scanner; importmoviedao.Schedule; importdomain.Movie; importdomain.ScheduleItem; publicclassAddDeleteMovie{ publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);Moviemovie=newMovie(); ScheduleItemscheduleItem=newScheduleItem(); try{ System.out.println("请输入您需要的操作"); System.out.println("1.增加电影\t2.删除电影\t3.增加放映场次");intxuanze=in.nextInt(); if(xuanze==1){ System.out.println("请输入电影名字: ");Stringname=in.next();movie.setName(name); System.out.println("请输入电影的英文名字: ");Stringposter=in.next(); movie.setPoster(poster); System.out.println("请输入导演名称: ");Stringdirector=in.next(); movie.setDirector(director); System.out.println("请输入主演名称: ");Stringactor=in.next(); movie.setActor(actor); System.out.println("请输入电影类型: ");Stringtype=in.next(); movie.setType(type); System.out.println("请输入价格: ");Stringprice=in.next();movie.setPrice(price); System.out.println("请输入放映时间: 以xx: xx形式");Stringtime=in.next(); while(true){if(time.charAt (2)==': '&&time.length()==5){break; } System.out.println("您输入的添加场次的时间格式错误: 以xx: xx形式 "); scheduleItem.setTime(time); Schedule.addMovie(movie,scheduleItem); }elseif(xuanze==2){ System.out.println("请输入您要删除的电影的名字: "); Stringname=in.next();while(true){ if(! Schedule.loadName(name)){ System.out.println("电影名称不存在,请从新输入: ");name=in.next(); }else{ break; } }Schedule.deleteMovie(name); }elseif(xuanze==3){ System.out.println("请输入电影名称: "); Stringname=in.next();while(true){ if(! Schedule.loadName(name)){System.out.println("电影名称有误,请重新输入电影名称: ");name=in.next(); }else{ break; } } System.out.println("请输入您要添加场次的时间: 以xx: xx形式"); Stringtime=in.next(); while(true){if(time.charAt (2)==': '&&time.length()==5){break; } System.out.println("您输入的添加场次的时间格式错误: 以xx: xx形式"); time=in.next(); }Schedule.addItem(name,time); }else{ System.out.println("对不起,请按照提示操作"); } }catch(Exceptione){System.out.println("对不起,出错了");e.printStackTrace(); 包ticket: packageticket; importjava.io.FileNotFoundException; importjava.io.PrintStream; importdomain.ScheduleItem; importdomain.Seat; publicclassTicket{ publicStringname; publicScheduleItemscheduleitem; publicSeatseat; publicintprice=60; publicvoidprint(Ticketticket){PrintStreampsout=null;try{ psout=newPrintStream("d: /ticket.txt"); System.setOut(psout); System.out.println("*************************"); System.out.println("\t青鸟影院"); System.out.println(""); System.out.println("电影名: "+name); System.out.println("时间: "+scheduleitem.getTime()); System.out.println("座位号: "+seat.seatNum); System.out.println("价格: "+price); }catch(FileNotFoundExceptione){ e.printStackTrace(); }finally{ psout.close(); } } } packageticket; importjava.io.FileNotFoundException; importjava.io.PrintStream; publicclassStudentTicketextendsTicket{ privateintdiscount; publicStudentTicket(intdiscount){this.discount=discount; } publicStudentTicket(){ } publicvoidcompute(){ price=60*discount/10; } @Override publicvoidprint(Ticketticket){ PrintStreampsout=null; try{ psout=newPrintStream("d: /ticket.txt"); System.setOut(psout); System.out.println("*************************"); System.out.println("\t青鸟影院(学生)"); System.out.println(""); System.out.println("电影名: "+ticket.name); System.out.println("时间: "+ticket.scheduleitem.getTime()); System.out.println("座位号: "+ticket.seat.seatNum); System.out.println("价格: "+price); }catch(FileNotFoundExceptione){ e.printStackTrace(); }finally{ psout.close(); packageticket; importjava.io.FileNotFoundException; importjava.io.PrintStream; publicclassFreeTicketextendsTicket{ privateStringcustomerName; publicFreeTicket(StringcustomerName){ this.customerName=customerName; } @Override publicvoidprint(Ticketticket){ PrintStreampsout=null; try{ psout=newPrintStream("d: /ticket.txt"); System.setOut(psout); System.out.println("*************************"); System.out.println("\t青鸟影院(赠票)"); System.out.println(""); System.out.println("电影名: "+ticket.name); System.out.println("时间: "+ticket.scheduleitem.getTime()); System.out.println("座位号: "+ticket.seat.seatNum); System.out.println("姓名: "+customerName); }catch(FileNotFoundExceptione){ e.printStackTrace(); }finally{ psout.close(); } } } 包moviedao: packagemoviedao; importjava.util.Iterator; importjava.util.List; importorg.dom4j.Document; importorg.dom4j.Element; importticket.Ticket; publicclassCinema{ privateScheduleschedule; /*privateScheduleItemscheduleItem; privateSeatseat; privateList privateStringfile="D: /save.xml"; publicvoidsave(Ticketticket)throwsException{ //soldTickets.add(ticket); Documentdocument=Schedule.readTicket(file); Elementelement1=document.getRootElement(); Elementelement=element1.addElement("Ticket");element.addElement("Name").setText(ticket.name);element.addElement("Seat").setText(ticket.seat.seatNum);element.addElement("Time").setText(ticket.scheduleitem.getTime()); Schedule.writerTicket(file,document); } publicbooleanload(StringseatNum,Stringtime,Stringname)throwsException{ /*for(inti=0;i Ticketticket=soldTickets.get(i); seat=ticket.seat; scheduleItem=ticket.scheduleitem; if(seat.seatNum.equals(seatNum)&&scheduleItem.getTime().equals(time)){returntrue; } }*/ Documentdocument=schedule.readTicket(file); List Elementticket=(Element)iter.next(); StringName=ticket.element("Name").getText(); StringSeat=ticket.element("Seat").getText(); StringTime=ticket.element("Time").getText(); if(Name.equals(name)&&Seat.equals(seatNum)&&Time.equals(time))returntrue; returnfalse; } } packagemoviedao; importjava.io.File; importjava.io.FileOutputStream; importjava.util.ArrayList; importjava.util.List; importorg.dom4j.Document; importorg.dom4j.Element; importorg.dom4j.Node; importorg.dom4j.io.OutputFormat; importorg.dom4j.io.SAXReader; importorg.dom4j.io.XMLWriter; importdomain.Movie; importdomain.ScheduleItem; publicclassSchedule{ List staticStringfile="src/MovieList.xml"; publicList Documentdocument=readTicket(file); List >list=(List >)document.selectNodes("//Item");for(intj=0;j Elementelement=(Element)list.get(j);ScheduleItemsi=newScheduleItem();Moviem=newMovie();Stringtime=element.getText();si.setTime(time); Elem
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电影 售票 系统 详解