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;iTicketticket=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;jElementelement=(Element)list.get(j);ScheduleItemsi=newScheduleItem();Moviem=newMovie();Stringtime=element.getText();si.setTime(time);
Elem