收藏 分销(赏)

电影院售票管理系统范文.doc

上传人:精**** 文档编号:4611187 上传时间:2024-10-07 格式:DOC 页数:72 大小:121KB 下载积分:18 金币
下载 相关 举报
电影院售票管理系统范文.doc_第1页
第1页 / 共72页
电影院售票管理系统范文.doc_第2页
第2页 / 共72页


点击查看更多>>
资源描述
电影院售票管理系统 72 2020年4月19日 文档仅供参考 package util; import java.io.FileOutputStream; import java.io.IOException; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class DomUtil { public static Document getDocument(String fileAddress){ Document doc=null; try { DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance(); DocumentBuilder db=dbf.newDocumentBuilder(); doc=db.parse(fileAddress); } catch (Exception e) { e.printStackTrace(); } if(doc!=null) return doc; else return null; } public static void saveDocument(Document doc,String fileAddress){ //保存 try{ TransformerFactory tf=TransformerFactory.newInstance(); Transformer t=tf.newTransformer(); DOMSource doms=new DOMSource(doc);//获得数据源 //设置字符编码类型 t.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); StreamResult result =new StreamResult(new FileOutputStream(fileAddress)); t.transform(doms, result); } catch (Exception e) { e.printStackTrace(); } } } package test; import service.impl.Login; public class Start { public static void main(String[] args) { new Login().start(); } } package service; public interface UserService { public void menu(); //查看全部电影 public void getAll(); //经过电影名称查询电影 public void getByName(); //经过放映时间查询电影 public void getByItem(); //购买普通票 public void byTicket(); //购买学生折扣票 public void byDiscount(); //购买免费票 优惠券 public void byFree(); } package service; public interface AdminService { //菜单 public void menu(); //查看所有 public void getAll(); //添加电影 public void addFilm(); //删除电影 public void delFilm(); //更新电影 public void upFilm(); //售票查询 public void getTicket(); } package service.impl; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import dao.impl.FilmDaoImpl; import entity.Film; import entity.Seat; import service.UserService; public class UserLogin implements UserService { Scanner input=new Scanner(System.in); List<Film> listFilm=new ArrayList<Film>(); List<Seat> listSeat=new ArrayList<Seat>(); FilmDaoImpl fdi=new FilmDaoImpl(); public void menu() { System.out.println("选择你的操作:1:查看所有电影;2:按电影名查询;3:按播放时间查询;" + "4:购票;5:返回上一层;6:退出;"); int chose=input.nextInt(); switch(chose){ case 1:getAll() ;break; case 2:getByName();break; case 3:getByItem();break; case 4:byTicket();break; case 5:break; case 6:System.exit(0);break; default :break; } } public void getAll() { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); listFilm=fdi.getAll(); for(Film film:listFilm){ System.out.println(film.getId()+"\t"+film.getName()+"\t" +film.getPoster()+"\t"+film.getDirector()+"\t" +film.getAcotr()+"\t"+film.getType()+"\t" +film.getPrice()+"\t"+film.getItem()); } listFilm.clear(); menu(); } public void getByName() { System.out.println("请输入要查询到电影:"); String name=input.next(); listFilm=fdi.getByName(name); if (listFilm != null) { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); for (Film film : listFilm) { System.out.println(film.getId() + "\t" + film.getName() + "\t" + film.getPoster() + "\t" + film.getDirector() + "\t" + film.getAcotr() + "\t" + film.getType() + "\t" + film.getPrice() + "\t" + film.getItem()); } listFilm.clear(); menu(); } else{ System.out.println("不存在该电影"); this.getByName(); } } public void getByItem() { System.out.println("请输入时间段:"); String Item=input.next(); //listFilm=fdi.getByItem("15:00"); listFilm=fdi.getByItem(Item); if (listFilm != null) { System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); for (Film film : listFilm) { System.out.println(film.getId() + "\t" + film.getName() + "\t" + film.getPoster() + "\t" + film.getDirector() + "\t" + film.getAcotr() + "\t" + film.getType() + "\t" + film.getPrice() + "\t" + film.getItem()); } listFilm.clear(); } else{ System.out.println("该时间段没有电影"); } menu(); } public void byTicket() { System.out.println("请输入电影名:"); String name=input.next(); System.out.println("请输入播放时间:"); String item=input.next(); // 返回该电影的座位信息 //Seat seat = fdi.getSeates("中国功夫", "15:00"); Film film=new Film(name, item); Seat seat = fdi.getSeates(film); if (seat != null) { String ticketType = null; boolean flagTicketType=true; while(flagTicketType){ System.out.println("请选择票的种类:1:普通票;2:学生票;3:免费票;"); int chose = input.nextInt(); switch (chose) { case 1: ticketType = "普通票"; flagTicketType=false; break; case 2: ticketType = "学生票"; flagTicketType=false; break; case 3: ticketType = "免费票"; flagTicketType=false; break; default: System.out.println("输入错误选项!!!"); break; } } printSeat(seat);//输出座位信息 boolean flagIndex=true; String index=null; while(flagIndex){ System.out.println("请选择座位:"); index = input.next(); if(seat.isSold(index)){//该座位已经卖出 System.out.println("该座位已经卖出!!!"); } else{ flagIndex=false; } } fdi.buyTicket(film, index, ticketType); System.out.println("购票成功!!!"); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.byTicket(); } } @Override public void byDiscount() { // TODO Auto-generated method stub } @Override public void byFree() { // TODO Auto-generated method stub } //座位信息 public void printSeat(Seat seat){ System.out.println("************************屏幕************************"); for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ System.out.print(seat.getSeats()[i][j]+"\t"); } System.out.println(); } } } package service.impl; import java.util.Scanner; import service.AdminService; import entity.AdminUser; public class Login { Scanner input =new Scanner(System.in); public void start(){ System.out.println("请选择登陆方式:1:管理员登录;2:普通用户登录;3:退出;"); int chose=input.nextInt(); switch(chose){ case 1: /*AdminUser admin=new AdminUser(); System.out.println("请输入用户名:"); String name=input.next(); System.out.println("请输入密码:"); String pwd=input.next(); if(name.equals(admin.getUserName())&&pwd.equals(admin.getUesrPassword()))*/ new AdminLogin().menu(); //else System.out.println("用户名和密码不匹配!!!"); break; case 2: new UserLogin().menu(); break; case 3:System.exit(0);break; default : System.out.println("输入错误的选择方式!!!"); this.start(); break; } this.start(); } } package service.impl; import java.util.ArrayList; import java.util.List; import java.util.Scanner; import dao.impl.FilmDaoImpl; import entity.Film; import entity.Seat; import service.AdminService; public class AdminLogin implements AdminService{ Scanner input=new Scanner(System.in); List<Film> list=new ArrayList<Film>(); FilmDaoImpl fdi=new FilmDaoImpl(); public void menu() { System.out.println("选择你的操作:1:查看;2:添加;3:删除电影;" + "4:修改电影;5:售票查询;6:返回上一层;7:退出;"); int chose=input.nextInt(); switch(chose){ case 1:getAll() ;break; case 2:addFilm();break; case 3:delFilm();break; case 4:upFilm();break; case 5:getTicket();break; case 6:break; case 7:System.exit(0);break; default : System.out.println("输入错误的选择方式!!!"); this.menu(); break; } } public void getAll() { int num=0; System.out.println("序号"+"\t"+"电影名称"+"\t"+"英文名称"+"\t"+"导演"+"\t"+"演员" +"\t"+"影片类型"+"\t"+"票价"+"\t"+"播放时间"); list=fdi.getAll(); //System.out.println(list.size()); for(Film film:list){ num++; System.out.println(film.getId()+"\t"+film.getName()+"\t" +film.getPoster()+"\t"+film.getDirector()+"\t" +film.getAcotr()+"\t"+film.getType()+"\t" +film.getPrice()+"\t"+film.getItem()); } list.clear(); menu(); } public void addFilm() { System.out.println("请输入电影名称:"); String name=input.next(); System.out.println("请输入英文名称:"); String poster=input.next(); System.out.println("请输入导演:"); String director=input.next(); System.out.println("请输入演员:"); String acotr=input.next(); System.out.println("请输入影片类型:"); String type=input.next(); System.out.println("请输入票价:"); String price=input.next(); System.out.println("请输入播放时间:"); String item=input.next(); Film film=new Film(name, poster, director, acotr, type, price, item); //Film film=new Film("东成西就", "e-w", "刘镇伟", "郑伊健", "喜剧", "150", "15:50"); fdi.addFilm(film); System.out.println("添加成功!!!"); menu(); } public void delFilm() { System.out.println("请输入删除的电影名称:"); String name=input.next(); System.out.println("请输入播放时间(输入all,则全部删除):"); String item=input.next(); Film film=new Film(name, item); boolean exist=fdi.delateFilm(film); //boolean exist=fdi.delateFilm("非常完美",time); if(exist){ System.out.println("删除成功!!!"); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.delFilm(); } } public void upFilm() { System.out.println("请输入要修改的电影名称:"); String name=input.next(); System.out.println("请输入要修改的放映时间:"); String item=input.next(); System.out.println("请输入要修改的列表名称:"); String property=input.next(); System.out.println("请输入该列表修改后的值:"); String value=input.next(); //fdi.updateFilm("蜘蛛侠","14:00","播放时间","15:00"); //fdi.updateFilm("蜘蛛侠","14:00","影片类型","搞笑"); Film film=new Film(name, item); int message=fdi.updateFilm(film,property,value); switch(message){ case 0:System.out.println("更新成功!!!");menu();break; case 1:System.out.println("不存在该电影;");this.upFilm();break; case 2:System.out.println("不存在此电影的该播放时间;");this.upFilm();break; case 3:System.out.println("不存在该属性列表;");this.upFilm();break; } } public void getTicket(){ System.out.println("请输入电影名称:"); String name=input.next(); System.out.println("请输入电影播放时间:"); String item=input.next(); //Film film=new Film("中国功夫", "15:00"); Film film=new Film(name,item); Seat seat=fdi.getTicket(film); if (seat != null) { printSeat(seat); System.out.println("普通票:" + seat.getTicket().getOrdinaryNum()); System.out.println("学生票:" + seat.getTicket().getStudentNum()); System.out.println("免费票:" + seat.getTicket().getFreeNum()); menu(); } else{ System.out.println("该电影不存在,或该电影没有此播放时间!!!"); this.getTicket(); } } //座位信息 public void printSeat(Seat seat){ System.out.println("***************屏幕*****************"); for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ System.out.print(seat.getSeats()[i][j]+"\t"); } System.out.println(); } } } package entity; public class Ticket { private String type; private int ordinaryNum=0; private int studentNum=0; private int freeNum=0; public String getType() { return type; } public void setType(String type) { this.type = type; switch(type){ case "普通票": ordinaryNum++; break; case "学生票": studentNum++; break; case "免费票": freeNum++; break; default:break; } } public int getOrdinaryNum() { return ordinaryNum; } public void setOrdinaryNum(int ordinaryNum) { this.ordinaryNum = ordinaryNum; } public int getStudentNum() { return studentNum; } public void setStudentNum(int studentNum) { this.studentNum = studentNum; } public int getFreeNum() { return freeNum; } public void setFreeNum(int freeNum) { this.freeNum = freeNum; } } package entity; public class Seat { private String index; private Ticket ticket; private Film film; private String[][] seats=new String [7][7]; public Seat(String index, Ticket ticket, Film film) { this.index = index; this.ticket = ticket; this.film = film; } public Seat(){ for(int i=0;i<7;i++){ for(int j=0;j<7;j++){ seats[i][j]=(i+1)+"-"+(j+1); } } } public String getIndex() { return index; } public void setIndex(String index) { String[] str=index.split("-"); setSeats(Integer.parseInt(str[0]),Integer.parseInt(str[1])); } public Ticket getTicket() { return ticket; } public void setTicket(Ticket ticket) { this.ticket = ticket; } public Film getFilm() { return film; } public void setFilm(Film film) { this.film = film; } private void setSeats(int x, int y) { seats[x-1][y-1]="已售"; } public String[][] getSeats() { return seats; } public boolean isSold(String index){ String[] str=index.split("-"); int a=Integer.parseInt(str[0]); int b=Integer.parseInt(str[1]); if(!seats[a-1][b-1].equals(index)){ return true; } else return false; } } package entity; public class Film { private int id; //序号 private String Name; //电影名称 private String Poster; //英文名 private String Director; //导演 private String Acotr; //演员 private String Type; //电影类型 private String Price; //电影价格 //private String Schedule; //时刻表 private String Item; //放映时间 public Film(){ } public Film(String name,String item){ Name = name; Item = item; } public Film(int id, String name, String poster, String director, String acotr, String type, String price, String item) { this.id = id; Name = name; Poster = poster; Director = director; Acotr = acotr; Type = type; Price = price; Item = item; } public Film(String name, String poster, String director, String acotr, String type, String price, String item) { Name = name; Poster = poster; Director = director; Acotr = acotr; Type = type; Price = price; Item = item; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return Name; } public void setName(String name) { Name = name; } public String getPoster() { return Poster; } public void setPoster(String poster) { Poster = poster; } public String getDirector() { return Director; } public void setDirector(String director) { Director = director; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服