电影售票系统(4)
2017-04-07 11:29
344 查看
最后创建一个Test类来运行
Test.java代码: |
/** * 程序的应用端 * @author Admin * */ public class Test { /** * * @param args */ public static void main(String[] args) { Cinema cinema = new Cinema(); //加载电影信息 cinema.getSchedule().loadItems(); //加载座位 cinema.initialSeat(); Scanner sca = new Scanner(System.in); //提示 System.out.println("====================欢迎进入售票系统==========================="); System.out.println("请输入:\n 1.重新购票\n 2.继续购票"); int num = sca.nextInt(); if(num==2){ //发生的业务 //对对象进行反序列化 cinema.load(); } //其他情况的业务 //显示电影信息 while(true){ cinema.printMoiveInfo(); //显示座位信息 cinema.printSeat(); //输出控制台上选择菜单 System.out.println("1.售票"); System.out.println("2.退出"); System.out.println("3.显示所售票"); System.out.println("请选择您需要的办理的业务:"); //获取控制台用户的选择 num = sca.nextInt(); if(num==1){//售票 System.out.println("请选择电影:"); //接收用户的选择,查找电影,并且判断是否有这一场电影 String moiveName = sca.next(); System.out.println("请选择电影场次:"); String time = sca.next(); //根据电影名和场次去查找电影信息 ScheduleItem item = cinema.getSchedule().searchMovie(moiveName, time); //不正确就循环重新选择 while(item==null){ System.out.println("电影信息不正确,请重新选择:"); System.out.println("请选择电影:"); //接收用户的选择,查找电影,并且判断是否有这一场电影 moiveName = sca.next(); System.out.println("请选择电影场次:"); time = sca.next(); item = cinema.getSchedule().searchMovie(moiveName, time); } //正确的话就选择座位 Seat seat = null; boolean bool = false; do{ System.out.println("请选择座位:"); String seatNum = sca.next();//获取用户输入的座位 seat = cinema.getSeat(seatNum);//获取座位 /** * 来判断该场次的座位是否是否已经售出 */ bool = cinema.getTicket(seat, item); //能找到信息就是true if(bool){ System.out.println("这一场电影的这个座位已经售出,请重新选择:"); } }while(bool); System.out.println("请选择类型:1.普通票 2.学生票 "); System.out.println("请选择:"); num = sca.nextInt(); int dis = 10;//折扣 String name = "";//赠送者的姓名 if(num==2){ System.out.println("请输入折扣:"); dis = sca.nextInt(); } //调用静态工厂方法,创建出电影票对象 Ticket ticket = TicketFactory.createrTicket( num, dis, name, item.getMovie().getPrice(), seat, item); //保存卖出去的电影票 cinema.getTickes().add(ticket);//保存卖出去的电影票 //打印电影票 ticket.print(); System.out.println("电影票售出成功"); }else{//退出 //把卖出去的电影票的信息保存,便于下一次继续购票。 cinema.save(); System.out.println("谢谢使用"); break; } } } } |
相关文章推荐
- 电影售票系统(2)
- 电影售票系统(5)
- Spring Cloud版——电影售票系统<五>Hystrix使用消息中间件RabbitMQ收集数据
- 电影自助售票系统业务逻辑分析
- Spring Cloud版——电影售票系统<三>使用Feign实现声明式REST调用
- Spring Cloud版——电影售票系统<二>使用Ribbon实现客户端负载均衡
- MonkeyEye电影售票系统--用例建模
- MonkeyEye电影售票系统--类图和包图
- MonkeyEye电影售票系统--系统顺序图
- Spring Cloud版——电影售票系统<四>使用Hystrix实现微服务的容错处理
- MonkeyEye电影售票系统--性能优化总结
- 电影售票系统(3)
- Moviebooking电影售票系统--领域模型、部署图和包图
- MonkeyEye电影售票系统--前端项目结构和协作规范
- Spring Cloud版——电影售票系统<八>使用 Spring Sleuth 实现微服务追踪
- Spring Cloud版——电影售票系统<—>Eureka微服务注册与发现
- Spring Cloud版——电影售票系统<七>使用 Zuul 构建微服务网关
- Moviebooking电影售票系统--用例建模
- MonkeyEye电影售票系统--前端技术要点总结
- 移动电影售票系统案例分析