电影售票系统(4)

最后创建一个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;
			}
	    }
	}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值