电影售票系统详解.docx

上传人:b****8 文档编号:9679714 上传时间:2023-02-05 格式:DOCX 页数:19 大小:19.09KB
下载 相关 举报
电影售票系统详解.docx_第1页
第1页 / 共19页
电影售票系统详解.docx_第2页
第2页 / 共19页
电影售票系统详解.docx_第3页
第3页 / 共19页
电影售票系统详解.docx_第4页
第4页 / 共19页
电影售票系统详解.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

电影售票系统详解.docx

《电影售票系统详解.docx》由会员分享,可在线阅读,更多相关《电影售票系统详解.docx(19页珍藏版)》请在冰豆网上搜索。

电影售票系统详解.docx

电影售票系统详解

用户界面:

包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时间");

Listlist=newSchedule().loadItem();

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;

privateListsoldTickets=newArrayList();*/

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);

Listlist=document.getRootElement().elements();for(Iteratoriter=list.iterator();iter.hasNext();){

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{

Listitems=newArrayList();

staticStringfile="src/MovieList.xml";

publicListloadItem()throwsException{

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1