Escape____ 2021-08-10 15:12 采纳率: 0%
浏览 213

用Java编写演出大厅售票系统

名称:演出大厅售票系统
要求:
1.该演出大厅舞台在正中央,四面为观众席,演出前售票
2.设观众席为东南西北四面,每面10排,每排20个座位,共计800个座位,系统要求针对该800个座位提供订票功能
3.关于价格(元):前三排票价为1680,中间三排票价为1280,后三排的票价为980,最后一排价格为680
4.该系统需提供注册和登录功能
4.1注册时需提交姓名、年龄、性别、手机号码、登录密码等信息,注册成功后即可使用手机号码作为登录号--手机号唯一
4.2登录提供管理员登录、注册用户登录和游客登录三种方式,注册用户登录后可进行座位查询操作、座位预定操作
4.3游客没有用户名,只能进行座位查询操作,不能够订票
4.4管理员为系统内置账号,用户名为admin,密码为admin888,管理员登录后可以对指定的座位设为不可购买--“封票”等同于已销售,作为赠送票、工作票、媒体票、置换票
5.系统提供座位查询功能
5.1精确查询:输入指定区域(东南西北)、指定排、指定作为号(1-20),查询该座位是否已被预订
5.2根据票价查询:输入指定票价、指定区域,查询满足条件的未被预订的座位

实现思路:可参考如下方式
1.面向对象的实现过程,封装的良好应用

2.利用MVC的框架实现

3.票(Ticket)的封装 :所属区域、排、号、价格、是否被预订(构造时均为false,被预订成功后该属性变为true),预订者的手机号

4.观众(Viewer)的封装:姓名、年龄、性别、手机号码、登录密码、所订票的集合(ArrayList,集合在这里变成了一个属性)

5.用户操作(ViewerOperator)的封装:
观众集合: ArrayList
观众注册: addViewer(Viewer v)
观众登录(查询) selectViewer(String cellphoneNumber,String pwd) 用手机号码和密码作为查询条件,查询返回Viewer对象

6.票务操作(TicketOperator)的封装:
票集合: ArrayList
初始化: init , 构造800张票的过程
订票:booking(Viewer v,Ticket c) 某个观众选择了某个座位的票,将该票的预订特征变为了true,同时添加到自己的订票集合中
管理员封票:systemBooking(Ticket c) 只能由管理员登录后操作
查询票: 根据区域和位置(例如北面第1排第5个位置)select方法,返回是否被预订的boolean(或者返回目标Ticket)
根据需要重载该select方法

7.用户交互(这一次,要对这个环节动大手术:把视图部分分割开来,大家来体会这样做的好处)
RegisterView类 提供注册的交互信息 public static void showView()
LoginView类: 提供登录的交互信息 public static void showView()
TicketQueryView类:提供查询票务的交互信息 public static void showView()
BookingView类: 提供订票的交互信息 public static void showView()

最终,含有main的视图: BookingSystem 
1.注册: RegisterView.showView()
 2.登录: LoginView.showView() 
    2.1 登录成功进行查询: TicketQueryView.showView()
    2.2 管理员封票: BookingView.showView()
    2.3 普通顾客订票: BookingView.showView()
3.游客: TicketQueryView.showView()
4.退出
  • 写回答

2条回答 默认 最新

  • CSDN专家-Time 2021-08-10 15:13
    关注

    参考这篇文档。

    评论

报告相同问题?

问题事件

  • 创建了问题 8月10日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀